一些C++的语法

时间:2022-04-20 12:06:24

一、类的析构函数

类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

如:

#include <iostream>

using namespace std;

class Line
{
public:
LineExtraction(); // 构造函数声明
~LineExtraction(); // 析构函数声明 private:
double length;
};

二、uint8_t 、uint16_t 、 uint32_t 、uint64_t的头文件

#include<cstdint>

三、Terminal直接编译.cpp文件

通过 -o 选项指定可执行程序的文件名

g++ helloworld.cpp -o helloworld

在命令行中输入程序名可使之运行:

./helloworld
hello,world

多个源文件生成可执行文件

g++ helloworld.cpp hello.cpp -o hello

*C11环境下编译:

g++ helo.cpp -std=c++ -o hello

四、C++中使用π值

调用头文件:

#include <cmath>

定义PI(π)值

#define PI acos(-1)
或者
const double PI=acos(-1);

五、弧度和角度的相互转化

弧度=度×π/180°

度=弧度×180°/π

六、变量前加*或者&的区别

1、*介绍

变量前加*号,只有在变量为指针情况下才是合法的。当*用于定义时,是标明该变量为指针类型。除此以外,*的作用是取值。C++中的指针可以理解为一个地址的值,*用于取值时就是取出改地址中存储的值。

2、&介绍

两个作用:一个起地址符作用,一个是引用。

&是取址符号。但&也可以有另一个用法,就是是其它变量的别名,如int &a=b;此时a就是b,b就是a,改变a的值也就改变了b的值。但声明时必须初始化,不能空声明,如:int &a是错的,int &a = b则可以。

七、extern "C"的作用

1、C++调用C语言代码;

2、在C++的头文件中使用;

3、在多人协同开发时,可能有的人擅长C++,有的人擅长C,这时候也有可能会用到。

八、结构体类型变量的定义方法及初始化

(1)定义结构体变量的方法:

1、先声明结构体类型再定义变量名;

2、在声明类型的同时定义变量名;

3、直接定义结构体类型变量名;

关于结构体的类型需要注意的几点:

1、类型与变量是不同的概念,不要混淆;

2、对结构体变量中的成员,也可以单独使用,它的作用与地位相当于同类型的普通变量;

3、结构体的成员也可以是一个结构体变量;

4、结构体中的成员名可以与程序中的变量名相同,但二者没有相同的关系。

(2)结构体变量的初始化

1、在定义结构体时对结构体变量指定初始值;

2、在定义变量时进行初始化

(3)结构体变量的引用

在定义结构体变量之后就可以引用这个变量。

1、引用结构体变量中的一个成员的值

引用方式:结构体变量名.成员名

其中"."是成员运算符,是所有运算符中优先级最高的。

2、可以将一个结构体变量的值赋给另外一个具有相同成员的结构体变量;

3、可以引用结构体变量的地址,也可以引用结构体变量成员的地址。

九、size_t类型的定义

size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int。

十、iterator和const_iterator的区别

iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改

https://blog.csdn.net/misayaaaaa/article/details/53786215

https://blog.csdn.net/u013779722/article/details/78418294

https://www.ednchina.com/news/201609180901.html