c++知识点
jiejingguo
这个作者很懒,什么都没留下…
展开
-
C++ 内联函数
C++ 内联函数内联函数的目的在于提高效率。C++在编译时会将每个内联函数的调用点用函数体展开,如下:inline int max(int a, int b){ return a > b ? a : b;}则调用: cout<<max(a, b)<<endl;在编译时展开为: cout<<(a > b ? a : b)<<endl;从而避免了调用函数的额外开销。关键字 inline必须与函原创 2017-11-24 17:10:59 · 241 阅读 · 0 评论 -
JAVA VS C++
JAVA VS C++不同处JAVA是在声明变量并初始化后才开辟内存空间的,而C++是在声明变量时就开辟了内存空间。 在JAVA中:int[] n;n = new int[10];//如果没有这句初始化,则下行代码会抛出空指针异常n[0] = 1;在C++中:int n[ 10 ];//声明时会直接调用构造函数,所以下面不会抛空指针异常n[0] = 1;...原创 2017-11-09 17:24:35 · 377 阅读 · 0 评论 -
C++知识点杂谈
C++知识点杂谈C++中的三种赋值方式:按值传递。一个参数的值会复制给另一个参数:int a, b;a = b; 按地址值传递。一个地址值复制给一个指针:int a;int *p;p = &a;按引用传递。不开辟新的内存,相当于给参数起个别名:int a;int& b = a;C++的左值和右值:左值:可以被赋值,可以出现在赋值号的左边或右...原创 2018-02-08 09:22:03 · 230 阅读 · 0 评论 -
C++ 动态内存
C++ 动态内存动态分配的对象的生存期与它们在哪里创建的无关,只有当显式地释放时,这些对象才会被销毁。使用动态内存的一个常见原因是为了让多个对象共享(不是拷贝)内部的数据,并使得当一个对象销毁时,该数据不会被销毁,其它对象仍然可以正常使用。shared_ptr只在拷贝和赋值时其内部的引用计数器才会加1。所以不要用shared_ptr的get()初始化另一个智能指针shared_pt...原创 2018-03-02 16:19:34 · 151 阅读 · 0 评论 -
C++面向对象程序设计
C++面向对象程序设计在C++语言中,当我们使用基类的引用或指针调用一个虚函数时将发生动态绑定,即JAVA中的多态基类通常要定义一个虚析构函数,即使该函数不执行任何实际操作,也是如此。在C++中基类的成员函数有两种:1、基类希望派生类进行重写的函数;2、基类希望派生类直接继承而不用改变的函数。对于前者,基类将其定义为虚函数。当指针或引用调用虚函数时,该调用将被动态绑定(即多态)。任何构...原创 2018-02-08 23:18:49 · 1119 阅读 · 0 评论