有的东西,你自己觉得自己理解了知道了记住了,可能你真的记住了,但你真的理解了吗?Put a “Why” upon everything ever you touch.
sizeof仅仅是个运算符,但那又意味着什么呢?意味着它不是一个函数,意味着它是在编译期求值(我并不是说所有的运算符都编译期求值)的。对于这样一条语句:
1 | size_t size = sizeof(int); |
来说,仅仅对应着这样一条汇编指令:
1 | movl $4, -4(%ebp) |
这对于自定义类型class也是同样的。
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
运算符不就是函数吗?
int add(int a, int b){return a + b;}
和
+
有区别吗?
对于int而言,inline以后就没区别了。
p.s. sizeof的大坑在于sizeof(i++)的效果….
不求值……
Release模式下没有区别,Debug模式下有区别。
int的operator+是怎么实现的?
我不知道你说的区别是啥意思?