- 主题:[求助]请教一个const形参在函数声明中省略掉的问题
你说的对。
The top-level const and volatile qualifiers should be ignored for the purposes of name mangling.
https://stackoverflow.com/questions/36532687/is-function-parameter-constness-mismatch-allowed
- 来自 水木社区APP v3.5.6
【 在 z16166 的大作中提到: 】
: 能,我试过才发的
:
:
: void print(const int a);
:
: int wmain(int argc, WCHAR **argv) {
: const int a = 1;
: print(a);
: return 0;
: }
:
: void print(int a) {
: scanf_s("%u", &a);
: printf("%u\n", a);
: }
--
FROM 183.179.53.*
顶级const直接被忽略。
const int a中const被忽略。
const int & a中const就不会被忽略。
【 在 z16166 的大作中提到: 】
: 给函数传递int,是按值传递的,所以不加const,也不会改变函数外面的实参。
:
: 加了const,是说函数的内部不能改变形参。
: ...................
--来自微微水木3.5.12
--
FROM 39.144.103.*
这个规定只影响函数签名(function signature)的匹配。
但const还是会约束不能在函数内部修改形参。
top-level cv这个有点含混。即使修正过一次,感觉还是有点含混
https://stackoverflow.com/questions/24676824/where-is-the-definition-of-top-level-cv-qualifiers-in-the-c11-standard
【 在 fanci 的大作中提到: 】
: 你说的对。
: The top-level const and volatile qualifiers should be ignored for the purposes of name mangling.
:
https://stackoverflow.com/questions/36532687/is-function-parameter-constness-mismatch-allowed: ...................
--
FROM 114.241.227.*
写第三版的可以骂他
第一版和第二版效果是一样的,但第二版有个优点,别人review的时候,能最快知道ab在函数func1内没有修改
【 在 leavedream 的大作中提到: 】
: 我是c++新手,写了一个class,第一版本大概长这个样:
: [code=c]
: // 头文件 (a.h)
: ...................
--
FROM 120.245.114.*
After C++ 11,
we should use value semantics whenever possible
【 在 leavedream 的大作中提到: 】
: 我是c++新手,写了一个class,第一版本大概长这个样:
: [code=c]
: // 头文件 (a.h)
: ...................
--
FROM 75.102.1.*
确认一下:是同一个同事吗?变化的也太快了啊(而且是遍历式的变化,把所有可能值都来了一遍)。哦,不对,还有一种没来呢。倒是有点期待他在给出新的意见了……强迫症啊。
【 在 leavedream 的大作中提到: 】
: 我是c++新手,写了一个class,第一版本大概长这个样:
: [code=c]
: // 头文件 (a.h)
: ...................
--
FROM 60.10.57.59
这个例子很好的说明了什么叫“最先惊讶原则”。
【 在 z16166 的大作中提到: 】
: 能,我试过才发的
:
: void print(const int a);
: ...................
--
FROM 124.114.151.*
最小惊讶原则,没必要。
你同事技术挺高爱捉弄人吧。
【 在 leavedream 的大作中提到: 】
: 我是c++新手,写了一个class,第一版本大概长这个样:
: [code=c]
: // 头文件 (a.h)
: ...................
--
FROM 124.114.151.*
是同一个同事,c++写了好多年的,可能是因为这是我第一次提交代码,看的极为仔细,review comments多到我怀疑人生了。。
【 在 klglfgljl (小鼠) 的大作中提到: 】
: 确认一下:是同一个同事吗?变化的也太快了啊(而且是遍历式的变化,把所有可能值都来了一遍)。哦,不对,还有一种没来呢。倒是有点期待他在给出新的意见了……强迫症啊。
:
: 【 在 leavedream 的大作中提到: 】
: : 我是c++新手,写了一个class,第一版本大概长这个样:
--
FROM 70.19.82.*
你们不用lint?如果用的话,那只有第二版不会报错
【 在 leavedream 的大作中提到: 】
: 我是c++新手,写了一个class,第一版本大概长这个样:
: // 头文件 (a.h) class A{ public: void func1(int a, float b, const a_ref_type& obj); }; // 源文件(a.cpp) void A::func1(int a, float b, const a_ref_type& obj){ ... }
:
: ...................
--来自微微水木3.5.12
--
FROM 120.245.128.*