扫码关注官方订阅号
a.attribute = b.attribute ? b.attribute : a.attribute; 这个语法有问题吗?
欢迎选择我的课程,让我们一起见证您的进步~~
这个玩意叫三元运算符。支持的语言没问题,不支持的有问题。
等于下面这个:
if(b.attribute) { a.attribute = b.attribute; } else { a.attribute = a.attribute; }
不一定效率高,只是很精炼
语法没问题。
要注意,a.attribute = a.attribute 并不是“指针指向自己”,而是**把等号前面的a.attribute这个指针 指向了 等号后面的a.attribute这个指针原先所指的那块地方。(当然内存管理语义加了copy除外,会 copy 一次。)语法上没有任何问题,不会造成影响~
a.attribute = a.attribute
a.attribute
copy
三目运算符而已,问题没看出来。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个玩意叫三元运算符。支持的语言没问题,不支持的有问题。
等于下面这个:
不一定效率高,只是很精炼
语法没问题。
要注意,
a.attribute = a.attribute并不是“指针指向自己”,而是**把等号前面的a.attribute这个指针 指向了 等号后面的a.attribute这个指针原先所指的那块地方。(当然内存管理语义加了copy除外,会 copy 一次。)语法上没有任何问题,不会造成影响~三目运算符而已,问题没看出来。