C++面试八股文:了解sizeof操作符吗?

打印 上一主题 下一主题

主题 1808|帖子 1808|积分 5424

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
某日二师兄参加XXX科技公司的C++工程师开发岗位第10面:
面试官:了解sizeof操作符吗?
二师兄:略微了解(不就是求大小的嘛。。)
面试官:请讲以下如何使用sizeof?
二师兄:sizeof主要是求变量或者类型的大小。直接使用sizeof(type)或sizeof(var)即可。
面试官:嗯。sizeof(int*)、sizeof(int**) 和sizeof(int[4])各返回什么?
二师兄:前两者的返回值相等。在32位操作系统中返回4,64位操作系统中返回8。sizeof(int[4])返回16,是因为sizeof运算时数组不会退化为指针。
面试官:如果一个int* p = nullptr,那么对其进行sizeof(*p)会发生什么?
二师兄:返回4。原因是sizeof在编译时求值,sizeof只需要获取*p的类型,并不对*p求值。所以不会发生段错误。
面试官:下面三个szieof运算符,各返回什么?
[code]#include #include int main(int argc, char const *argv[]){    const char* str1 = "hello";    char str2[] = "hello";    std::string str3 = "hello";    std::cout
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表