c++
文章平均质量分 76
jacocheung
这个作者很懒,什么都没留下…
展开
-
C++指针和数组以及字符串常量的类型
指针和数组名参考:《c专家编程》程序中所有的变量名或者数组名在重定位之后都只是一个地址值而已,所有引用这些变量的地方都会被替换成一个地址值。数组名仅仅是一个标号而已,没有额外的内存存储这个值,它的值存在于符号表。它仅仅是一个地址,这也是为什么数组名不能被赋值的原因(数组名是右值)。经过重定位之后,数组名已经完全是地址值了,程序中对a访问就等价于访问a的地址。指针本身占用额外的空间,这个空间存储的是某个变量的地址,同时指针变量本身也是一个标号,这个标号的值存在符号表中。存储指针变量是的内存空间,这个原创 2020-10-25 15:47:42 · 431 阅读 · 2 评论 -
C++三巨头原则
C++三巨头原则BIG THREE:copy ctorcopy=dtorcomplx c1(0,0);//构造函数complex * pc = new complex;//构造函数complex c2(c1);//拷贝构造函数complex c3 = c1;//拷贝构造函数c3 = c2;//赋值构造函数delete pc;//析构函数copy ctor如果不自定义拷贝构造函数,编译器自带的是bit-wise copy,即浅拷贝如果一个类数据成员有指针变量,必须手动实原创 2020-10-25 13:47:54 · 180 阅读 · 0 评论 -
C++声明和定义位置的规范和窍门
变量和函数定义的位置明确中心思想ODR通常类的定义是在头文件.h,类成员函数定义在.cc,这个.cc需要include这个头文件下面的定义通常可以对外界封装struct的成员是什么//public.hstruct sparse_matrix;//forward declarationtypedef struct sparse_matrix * sparse_matrix_t;sparse_status_t mkl_sparse_s_create_coo( sparse_matrix_t *原创 2020-10-25 13:53:02 · 892 阅读 · 0 评论