1. 首页
  2. 数据库
  3. 其它
  4. C++无法重载点符号、::、sizeof等的原因

C++无法重载点符号、::、sizeof等的原因

上传者: 2021-01-17 02:21:40上传 PDF文件 54.22KB 热度 2次
大多数的运算符能够被程序员重载。例外的是: . (点符号) :: ?: sizeof 并没有什么根本的原因要禁止重载?:。仅仅是因为,我没有发现有哪种特殊的情况需要重载一个三元运算符。注意一个重载了 表达式1?表达式2:表达式3 的函数,不能够保证表达式2:表达式3 中只有一个会被执行。 Sizeof 不能够被重载是因为内建的操作(built-in operations),诸如对一个指向数组的指针进行增量操作,必须依靠它。考虑一下: X a[10]; X* p = &a[3]; X* q = &a[3]; p++; // p 指向a[4] // 那么p 的整型
用户评论