- 主题:有个老外code review不让过
小白问问这个怎么做到编译期禁止赋值,运行期却能修改赋值
【 在 slowaction 的大作中提到: 】
: const编译期起作用
: 禁止赋值
: 运行期你非要改,他拦不住
: ...................
--
FROM 36.154.175.*
编译器可以知道这个指针指向的地址是只读的,就可以禁止写。但这个指针的值可以给其他指针或者由其他方式得到,那个地址物理上是可写的就可以被赋值。
【 在 pabkyh 的大作中提到: 】
: 小白问问这个怎么做到编译期禁止赋值,运行期却能修改赋值
:
--
FROM 112.64.60.*
变量的地址物理上是不是都是可写的
【 在 teleheart 的大作中提到: 】
: 编译器可以知道这个指针指向的地址是只读的,就可以禁止写。但这个指针的值可以给其他指针或者由其他方式得到,那个地址物理上是可写的就可以被赋值。
:
--
FROM 180.104.104.*
物理上要看存储器啊
【 在 pabkyh 的大作中提到: 】
: 变量的地址物理上是不是都是可写的
:
--
FROM 112.64.60.*
这个理解不深
【 在 teleheart 的大作中提到: 】
: 物理上要看存储器啊
:
--
FROM 180.104.104.*
并不会,第一反应是为啥要加第二个const,是不是有什么坑,真要可读性的话应该用个typedef或者using,起个别名,这样别人也不用特别在意里面写了啥
【 在 Icanread 的大作中提到: 】
: 可读性提高了
:
: 发自「今日水木 on iPhone 12」
--
FROM 221.224.15.*
你可以把rom上的地址作为变量传给函数,函数也可以试图去写这个地址,但物理上不可能成功
【 在 pabkyh 的大作中提到: 】
: 这个理解不深
:
--
FROM 112.64.60.*
我个人而已,都加const了,我就可以放心的认为它就是一个常量了,不用考虑函数里它会不会变
【 在 mopo 的大作中提到: 】
:
: 并不会,第一反应是为啥要加第二个const,是不是有什么坑,真要可读性的话应该用个typedef或者using,起个别名,这样别人也不用特别在意里面写了啥
: --
:
发自「今日水木 on iPhone 12」
--
FROM 114.254.0.*
道理是这个道理,也看整体的coding style,如果一个项目99%的参数都没加const,这一个const就很扎眼了,对于洁癖leader来说,是改这一个呢,还是全都改了呢,就留这一个的话可能每个新来的维护者都会问一次:为啥这个函数多了一个const,是有啥考虑吗?
当然这个有点夸张了,但类似的黑天鹅代码确实见过不少,别问,问就是“历史原因”,别改就对了。
【 在 Icanread 的大作中提到: 】
: 我个人而已,都加const了,我就可以放心的认为它就是一个常量了,不用考虑函数里它会不会变
: 发自「今日水木 on iPhone 12」
--
FROM 221.224.15.*
是的,而且他还特别自信
【 在 fanci 的大作中提到: 】
: 槽多无口
--
修改:xshoushoux FROM 124.79.95.*
FROM 124.79.95.*