C++语法基础
为工作面试准备C++语言基础知识
于大大想要去旅行
新手一枚研究生入坑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
指针,数组,常量面试题
什么是野指针 指向了一个已经删除的对象,或者是指向了访问受限内存区域。 什么是函数指针 定义 函数指针是指向函数的指针变量。函数指针指向一个具体的函数,在编译时,每个函数会有一个入口地址,该入口地址就是函数指针指向的地方。 用途 可以直接调用该函数,或者作为参数传递,如回调函数。 指针与数组的区别 指针 数组 保存数据的地址 保存数据 间接访问数据,首先获得指针的内...原创 2020-03-18 00:12:31 · 179 阅读 · 0 评论 -
c++中的smart pointer四个智能指针
文章目录c++中的smart pointer四个智能指针auto_ptr(已弃用)unique_ptr (auto_ptr的安全替代)概述问题:赋值出错匿名赋值不出错可用move()来安全解决问题shared_ptrweak_ptr(解决shared_ptr的引用问题) c++中的smart pointer四个智能指针 shared_ptr,unique_ptr,weak_ptr,auto_ptr...原创 2020-03-17 23:25:03 · 737 阅读 · 0 评论 -
C++ 四种cast转换
文章目录C++提供的四种新式转型`const_cast (expression)``dynamic_cast (expression)`因为dynamic_cast速度慢,是可以有取代的设计的(跟面试关系不大)解决方法一解决方法二`reinterpret_cast (expression)``static_cast (expression)`为什么不用C的强制转换? 可参考<Effectiv...原创 2020-03-17 16:46:10 · 369 阅读 · 0 评论 -
C++ 指针与引用的区别
C++ 指针与引用的区别 1.指针和引用的定义和性质区别 指针是一个变量,这个变量存储的是一个地址,指向内存的一个存储单元; 有const指针,但没有const引用 指针可以有多级,引用只有一级 指针的值可以为空,引用的值不能为NULL,并且引用在定义的时候必须初始化。 指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了。 "sizeof引用"得到的是所指向的变...原创 2020-03-17 16:00:58 · 190 阅读 · 0 评论 -
细说关键字:explicit(显式)
两个规则: explicit 修饰构造函数时,可以防止隐式转换和复制初始化 explicit 修饰转换函数时,可以防止隐式转换,但 按语境转换 除外。 使用在例子中的具体说明 struct A { A(int) { } operator bool() const { return true; } }; struct B { explicit B(int) {} ...原创 2020-02-29 18:03:55 · 513 阅读 · 0 评论 -
细说关键字:this
this指针是一个隐含于每一个非静态成员函数的特殊指针。它指向调用该成员函数的对象。 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,都隐式使用this指针。 this指针被隐含地声明为:ClassName *const this,这意味着不能给this指针赋值;在ClassName类的const成员函数中,this指针的类型为:...原创 2020-02-28 21:21:49 · 188 阅读 · 0 评论 -
细说关键字:union联合
union 联合 概念 联合(union)是一种节省空间的特殊的类,一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。联合有如下特点: 默认访问控制符为public 可以含有构造函数,析构函数 因为内存共享,所以不能含有引用类型和静态的成员,他们不可以共享内存 不能继承自其他类,不能作为基类 不能含有虚函数 匿名union在定...原创 2020-02-27 19:20:14 · 472 阅读 · 0 评论 -
细说关键字:inline
inline 内联函数 特征: 内联函数里面的内容写在调用内联函数处 不用执行进入函数的步骤,直接执行函数体 相当于宏,但比宏多了类型检查,且具有函数特性 编译器一般不把具有循环,递归,switch等复杂操作的声明为inline的函数内联。 使用: // 声明1(加 inline,建议使用) inline int functionName(int first, int second,...);...原创 2020-02-25 23:26:36 · 156 阅读 · 0 评论 -
细说关键字:static
Static 作用 修饰普通变量:修改变量的存储区域和生命周期,使变量存储在静态区。在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化它。 若为局部变量:内存中在静态存储区,作用域为局部作用域,离开作用域并不销毁,仍然驻留内存,不能再对它进行访问,直到该函数再次调用。 若为全局变量:内存中在静态存储区,作用域为文件开始头部,到文件结尾,其他文...原创 2020-02-22 21:54:54 · 164 阅读 · 0 评论 -
细说关键字:const
文章目录const作用使用 const 作用 修饰变量 普通常量:必须初始化,该变量不可以改变。 常成员变量,只能在类的构造函数中的初始化列表赋值 常对象,只能调用类中的常成员函数,因为常对象不能修改数据。 修饰指针 常指针(指针常量):右边写的const,绑定的地址不能改变,比如说this指针 指向常量的指针(常量指针):左边写的const,绑定地址可变,指向的对象必须是个常量(由...原创 2020-02-21 22:17:04 · 145 阅读 · 0 评论
分享