一些C++的语法
一、类的析构函数
类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。
析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
如:
#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
一些C++的语法的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
随机推荐
- IdentityServer4客户端如何获取自定义声明,了解一下?
前言 久违了各位,之前录制过IdentityServer4的基础视频(https://space.bilibili.com/319652230/#/),有兴趣了解的童鞋可以看一下,只不过未发表成博客. ...
- 使用axios 的post请求下载文件,
axios({ method: 'post', data: param, responseType:'blob', url: _urls + '/Downloaddata' }).then(data= ...
- 自定义class类的简单使用
晚上闲着无事, 然后看了阮老师的es6 的类用法,包括继承. 然后, 想着在vue中怎么使用class . 1. 定义一个 classmodel.js 文件. 里面包含如下代码: 2.接着, 在vue ...
- 以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片
http://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html OneNote2013 OCR API调用使用说明2019.4.17 使用说明:1.安装干 ...
- Docker 核心技术之数据管理
Docker 数据卷简介 为什么用数据卷 宿主机无法直接访问容器中的文件 容器中的文件没有持久化,导致容器删除后,文件数据也随之消失 容器之间也无法直接访问互相的文件 为解决这些问题,docker加入 ...
- JSON 的几种转换
package com.qbskj.project.util; import java.io.IOException; import java.io.Writer; import org.spring ...
- PHP用户输入数据进行过滤
1.在表单中,input项,如果用户输入的是英文状态下的双引号或单引号,数据保存后.以后又在后台编辑的时候,<input value=" "这是带引号的值,因为引号导致问题& ...
- docker 容器的启动方式
1.Docker 优势: .更高效利用系统资源:由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高.无论是应用执行速度.内存损耗或者文件存储速度,都要比传统 ...
- OO_第二单元总结
第二次总结博客(电梯单元) 16071070 陈泽寅 2019.4.20 一:多线程实验初感 这个单元是多线程设计的实践单元,主要让我们运用多线程的原理与思想去完成一个模拟电梯运行的策略.从最开始的单 ...
- 转载泡泡机器人——IMU预积分总结与公式推导2
本文为IMU预积分总结与公式推导系列技术报告的第二篇. 承接第一篇的内容,本篇将推导IMU预积分的测量值,并分析其测量误差的分布形式. 传统捷联惯性导航的递推算法,以初始状态为基础,利用IMU测量得到 ...