第57页 sizeof和strlen的区别
- 章节名:sizeof和strlen的区别
- 页码:第57页
1,strlen 的参数只能是char *,且必是以“\0”结尾的 用它来计算字符串长度,知道"\0"为止。 sizeof操作符的结果类型是size_t, 2,sizeof是算符,strlen是函数。 3,数组做sizeof参数时,不退化,传递给strlen就退化为指针。 4,大部分编译程序在编译时就把sizeof计算过了,而strlen的结果要到运行时才能计算出来。 5,数组做参数传给函数时,是指针而不是数组,因为sizeof不是函数,所以数组传给它还是数组。 6,sizeof的几种实例 一个空类的空间为1,多重继承的空类所占空间也为1 但由于虚继承设计到虚表(虚指针),所以空类的空间为4. 关键字virtual告诉编译器不应当完成早期绑定,要实现晚绑定。所以,编译器为每个包含虚函数的类创建一个表来放置特定类的虚函数地址。在每个带有虚函数的类中,编译器置一个指针指向这个表。 虚函数继承:为了实现多态 虚继承: 为了解决多重继承时的歧义,要多加一个虚类指针指向其父类。 sizeof的派生类,要加上
FMAlien对本书的所有笔记 · · · · · ·
-
第41页 很巧妙的解法
1,判断X是否是2^N次方 因为: 十进制 二进制 2 10 4 100 8 ...
-
第49页 宏定义和const和sizeof
1, #define FIND(struc,e) (size_t)&(((struc *)0)-> e) size_t 是一种数据类型,为...
-
第57页 sizeof和strlen的区别
-
第74页 指针
函数指针: void (*f)() 函数返回指针:void * f() 指向const 的指针 : const int *p; ...
-
第81页 C++中有了malloc/free,为什么还需要new/delete
由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构...
说明 · · · · · ·
表示其中内容是对原文的摘抄