摘要:
不能使用直接初始化,比如struct a()这样,会无法匹配上构造函数,可以使用{ }进行初始化 struct的默认构造函数只有在两种情况下会被调用 默认初始化:在不使用初始化器构造变量时执行的初始化。 值初始化:在以空初始化器构造对象时进行的初始化 vector v1; vector v2{}; 阅读全文
摘要:
1. 指针是没有类型的,它只是方便解引用 int a[]={1,2,3,4}; int* p =a; p = p+1; printf("%d\n",*p);//2 这段代码吧a换为char也能运行,p=p+1是因为获得了int类型,所以知道了下一个地址再4个字节之后 2. 关于一段代码 #inclu 阅读全文
摘要:
int* const p p是一个int指针,然后p被修饰,指针被修饰意味着p保存的内存地址无法被修改,说明p无法再指向其它地址。 const int* p p是一个int指针,const修饰的是*p,就是说p所指向的值无法改变,p本身可以指向其它地址。 const int* const p == 阅读全文
摘要:
首先进一步理解引用: int &a=b 相当于 int *const a=b。即引用是一个指针常量(又称常指针,即一个常量,其类型是指针)。每当编译器遇到引用变量a,就会自动执行 * 操作。而常引用:const int &a=b就相当于 const int * const a=b。不仅仅是a这个地址 阅读全文
摘要:
我仔细检查了,没有第二个camera,但是我的waterplane就是无法显示。 解决方法: 原来是脚本中的waterplane在脚本中初始化的y轴上被放低了,所以在运行 时看不到,修改代码即可 阅读全文
摘要:
const和constexpr是c++11之后区分开的,之前只有const ,它包含两个含义:只读,常量。这两个概念的含义既有重叠的部分但是 区别更大。 c++11后const只包含 只读的意思,constexpr包含常量的意思,constexpr修饰的变量和函数会在编译期间完成,而const修饰的 阅读全文