Tag: 传递值的

Const参数的正确性

我知道关于const正确性的问题很less,在这里,声明函数及其定义不需要同意价值参数。 这是因为值参数的常量只在函数内部起作用。 这可以: // header int func(int i); // cpp int func(const int i) { return i; } 这是否是一个最好的做法? 因为我从来没有见过任何人这样做。 我已经在其他地方看到了这个引用(不知道源代码) “实际上,对于编译器来说,无论您是否将此const包含在值参数前面,函数签名都是相同的。” “在函数声明中避免使用const传值参数,如果参数不被修改,仍然将参数设置为const在同一个函数的定义中。 第二段说不把const放在声明中。 我认为这是因为作为接口定义的一部分,值参数的常量是没有意义的。 这是一个实现细节。 基于这个build议,是否也推荐指针参数的指针值? (由于不能重新分配引用,因此对引用参数没有意义。) // header int func1(int* i); int func2(int* i); // cpp int func1(int* i) { int x = 0; *i = 3; // compiles without error i = […]