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

打印 上一主题 下一主题

主题 842|帖子 842|积分 2526

某日二师兄参加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 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表