- 主题:有个老外code review不让过
const编译期起作用
禁止赋值
运行期你非要改,他拦不住
要求加这个逻辑是合理的
【 在 freyoneby 的大作中提到: 】
: 一定要函数参数加个const,比如conf(const char* path)改成conf(const char* const path),我说参数的值改不了,没必要加,他说能加const地方都要加,想问一下参数要么进栈要么进寄存器,const是怎么作用到寄存器上的?
: - 来自 水木社区APP v3.5.7
--
FROM 223.104.7.*
reviewer的意思就是你别给这个path重新赋值
不是什么大问题
对方提不提都不是问题,
如果提了,你非要说他说的不对,那更没必要
说什么要复用这个变量那就是搞笑了
【 在 mopo 的大作中提到: 】
: 这个好像没啥意义吧,函数里就算给path重新赋值了又咋样,对外部毫无影响
--
修改:slowaction FROM 223.104.41.*
FROM 223.104.41.*
这个理由不够充分
对方的出发点是不要给path赋值
这是个功能性的建议
而不是类似命名规则 缩进之类的风格问题
【 在 flw 的大作中提到: 】
: 如果想反驳,可以用代码风格来说事儿。
: 比如说之前的旧代码都是这个风格,为了保持风格统一,建议不改。
: 如果要改,可以再另起一个修改,把整个项目全部都改一遍。
: ...................
--
FROM 223.104.41.*
不影响
const和inline关键字只存在于编译期
运行时没有他们的事
const不能改只是编译器不让改
那块地址和其他的变量地址是一样的
可以绕过去改
【 在 freyoneby 的大作中提到: 】
: 我想问的是const会影响mmu的page entry 吗,字符串产量应该是page entry只读的?为什么字符串常量是运行期
--
FROM 223.104.39.*
基本做不到
编译期的常量字符串是不能改的,不过适用范围很窄
如果你从配置文件读一个数据进来,然后要求他后面物理上不能改,这种没办法
可以用函数封装间接解决这个问题
让自己的变量别人没法改
【 在 freyoneby 的大作中提到: 】
: 那有什么办法定义数据是运行期常量
--
FROM 223.104.39.*