C++ 全面总结
1. 基本数据类型:没什么好说的、知道浮点数存储起来不精确、各种类型占的大小在不同平台可能不一样就行了
2. 初始化列表:能用就用、能防止潜在的类型收窄,
3. static_cast 和 dynamic cast 是推荐的用法、比 C 中的强制转换高级
4. 没有初始化的局部变量和指针里都是垃圾值,全局变量不是
5. 全局变量在运行时就存在、一直到程序退出
6. static 的变量定义出来时存在、一直到程序退出
7. 局部的变量一出了花括号就不存在
8. 堆上的变量不delete就只能等到程序退出时清除
9. 目前只推荐三种智能指针 std::unique_ptr, weak_ptr ,shared_ptr,主要作用是为了防止忘记 delete。可以用指向某个东西的指针初始化智能指针、也可以用make_xxx系列函数
10.typedef 不推荐使用、推荐使用 using 取类型别名
11. 两个冒号 ::的几种使用场合:
namespace::xxx
类名::静态成员或者方法
::某个全局变量
枚举名::枚举值
类名::普通成员函数
12. 范围 for 基本上都是配合 auto、const auto &,auto & 来使用
13. std 字符串转数字 std::stoi
反之用 std::to_string()
14. 函数就是一等类型、可以保存、可以来回传递、常用的方法有: 函数指针、function、可调用对象
15. 对于很冗长的类型、果断使用 auto
16 std::optional<>可以
随机推荐
- es启动和停止命令
1.启动命令 使用elasticsearch用户来启动,进入bin目录(例:home/db_app/elasticsearch/elasticsearch-6.5.4/elasticsearch-cl ...
- Shell-通过expect工具脚本的自动交互及实例
安装expect工具 expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是: spawn启动指定进程 -> e ...
- git push 时发生的error: failed to push some refs to
- 先再一个新建的一个文件夹里面git clone +你要克隆的远程仓库 - 然后把克隆下来的.git文件夹复制到你的本地仓库,然后再commit-git add, - git push 就可以提交成 ...
- 2345 ip
121.201.101.43 img1.2345.com121.201.101.43 img2.2345.com121.201.101.43 img3.2345.com121.201.101.43 i ...
- php严格模式的使用
<?php declare (strict_types = 1); namespace app\controller; use app\BaseController; use think\fac ...
- 整合mybatis-示例
引入依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...
- Java方法之可变参数
可变参数[不定项] JDK 1.5开始,Java支持传递同类型的可变参数给一个方法. 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数 ...
- 动画图解 Git 的 10 大命令
原文地址:https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1 原文作者:Lydia Hallie 前言 尽管 Git 是 ...
- nginx 白名单配置
方法一. iptables [root@root~]# vim /etc/sysconfig/iptables .... -A INPUT -s 白名单IP -p tcp -m state --sta ...
- 解决vuex 状态管理mutations报错为:"[vuex] unknown mutation type: VIWE_NAV"
报错截图: 我的解决思路: 1.先检查gettes方向获取与actions提交是否畅通,同时专注检查code是否输错. 2.我查了别人多数是""在vuex中没有mutation,有 ...