专题总结:C/C++
文章平均质量分 80
buxizhizhou530
这个作者很懒,什么都没留下…
展开
-
new/delete 和 malloc/free 的区别
1.malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。但是new能够自动分配空间大小,而malloc需要计算字节数。2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,原创 2015-04-18 11:06:23 · 846 阅读 · 0 评论 -
位运算
位运算位运算:用于对整数类型(int,char, long 等)变量中的某一位(bit),或者若干位进行操作。比如:1) 判断某一位是否为12) 只改变其中某一位,而保持其他位都不变。C/C++语言提供了六种位运算符来进行位运算操作:& 按位与(双目) | 按位或(双目)^ 按位异或(双目)~ 按位非(取反)(单目)>>原创 2015-04-19 15:23:10 · 1265 阅读 · 0 评论 -
C++ 空白基类最优化(EBO 或 EBCO)
对于c++中的一个空类 class X{}; 事实上并不是空的,sizeof(X)并不等于0, 一般的结果是1。每个X的对象都有一个隐晦的1 bytes,是被编译器安插进去的一个char,这样可以使得这个class的两个objects在内存中配置独一无二的地址。当X作为另一个类的成员时,如:class A{public: X x;原创 2015-05-21 10:57:01 · 1360 阅读 · 0 评论 -
C++ 四种类型转换操作符
一、C风格类型转换操作符(type) expression例子:int firstNumber, secondNumber;double result = ((double)firstNumber)/secondNumber;二、C++类型转换操作符1.static_cast 在功能上基本上与 C 风格的类型转换一样强大,含义也一样。double r原创 2015-05-18 23:06:11 · 1894 阅读 · 0 评论