C++常见面试题总结_c++面试题_Cpp编程小茶馆的博客-CSDN博客
1、explicit Vehicle_Multi_Classfication();
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式
2、~Vehicle_Multi_Classfication()
用在类中的析构函数之前,表示该函数是析构函数
析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。
类的析构函数是类的一个成员函数,名字由波浪号加类名构成,执行与构造函数相反的操作:释放对象使用的资源,并销毁非static成员。
3、private
重要的不希望外部访问的成员变量定义为私有成员
4、&operator
简单来说就是operator 返回的是这个值,而&operator返回的是这个的地址(引用)。
c++重载操作符,operator 与&operator_你的瓦刀的博客-CSDN博客_&operator=
5、&
6、pragma once
7、private、public、protected_Hello,小高同学的博客-CSDN博客_protected private public
8,C++ namespace_kjl167的博客-CSDN博客_c++ namespace
9,C++中的.h,cpp以及.hpp文件_superhoner的博客-CSDN博客_hpp cpp
10、指针引用传入参数
https://www.cnblogs.com/lutixiagit/p/16702966.html
11. make 和make install
12. Cmake和make
5分钟理解make/makefile/cmake/nmake - 知乎
1、下载源码sources
2、cmake
生成批处理文件,makefile
3、make编译
4、可执行文件
面试题:
1、智能指针的原理
(215条消息) C++智能指针原理_吃橘子容易上火的博客-CSDN博客_c++智能指针原理
2、多态
(215条消息) C++多态_The Temple的博客-CSDN博客_c++多态
3、定义常量
- C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <iostream>。
- 下一行 using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。
在 C++ 中,有两种简单的定义常量的方式:
- 使用 #define 预处理器。例子:#define LENGTH 10
- 使用 const 关键字。 例子:const int LENGTH = 10;
4、存储类
a、static
指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。
b、extern 存储类
用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的
c、mutable
说明符仅适用于类的对象
d、thread_local
使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。
e、auto 关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
5、数组、数组指针
int n[ 10 ]; // n 是一个包含 10 个整数的数组
double *p; double runoobAarray[10]; p = runoobAarray;
指针和数组是密切相关的。事实上,指针和数组在很多情况下是可以互换的。
把 var[2] 赋值为 500:
*(var + 2) = 500;
6、指针*
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。
7、引用&
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
8.C++ 引用 vs 指针
C++对引用和指针的理解、应用_c++ 指针和引用的使用场景_Nelson_hehe的博客-CSDN博客
C++中的&(引用与地址)_c++取地址和引用_南陵花神的博客-CSDN博客
引用很容易与指针混淆,它们之间有三个主要的不同:
- 不存在空引用。引用必须连接到一块合法的内存。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
9、include <vector>
动态数组,动态占用空间,动态释放空间
10、动态内存
了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分:
- 栈:在函数内部声明的所有变量都将占用栈内存。
- 堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存。
double* pvalue = NULL; // 初始化为 null 的指针
pvalue = new double; // 为变量请求内存
11、命名空间
您可以使用 using namespace 指令,这样在使用命名空间时就可以不用在前面加上命名空间的名称。
using 指令也可以用来指定命名空间中的特定项目。例如,如果您只打算使用 std 命名空间中的 cout 部分,您可以使用如下的语句:
using std::cout;
12、搭建环境
(200条消息) VsCode安装和配置c/c++环境(超完整,小白专用)_LoveArduinos的博客-CSDN博客_vscode配置c/c++环境