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<>可以
随机推荐
- maven加载本地的jar包
方式1 ,通过scope = system的方式加载 <dependency> <groupId>com.sun.jna</groupId> <artifac ...
- Win10应用商店经常遭遇打不开的情况,如错误代码0x80131500
1.用"win + R"打开运行 2.输入 inetcpl.cpl 打开Internet属性(或从IE浏览器设置打开) 3 点击高级选项 4 找到并勾选 TLS 1.2,取消勾选T ...
- maven 简易入门笔记
教程:http://www.yiibai.com/maven/ http://maven.apache.org/ 第一步:下载安装maven. 配置环境变量. 第二步: 设置mirror 中央存储仓 ...
- JS正则表达式大全(整理详细且实用)2
javascript的17种正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^ ...
- js任务执行顺序
JS 线程简述 js是单线程的,一次只能执行一个任务,执行完毕后才能继续下一个. js执行任务的方式也叫作同步执行,同步和异步与我们平时理解的不太一样,平时的同步我们会认为是多个事情一起做,但是在js ...
- Redis缓存问题排查
一.缓存穿透 概念:缓存穿透是指查询的数据不存在,redis和mysql(或其他持久存储的数据库)都不能命中.工作中出于容错的考虑,如果从数据库内不能查到数据则不会写入缓存,缓存穿透将导致不存在的数据 ...
- JAVA XML转对象
最近遇到XML转对象进行业务操作的问题 这是我需要解析的XML 1,建XML对应自己需要参数的Bean.有的很长很乱,没必要全部建,只建自己需要的就行了 import lombok.Data; imp ...
- 【Windows】查询端口占用并中止进程
netstat -aon|findstr 7000 tasklist|findstr 14828 taskkill /pid 14828 /t /f
- js 基础篇--保留字
1.js把一些标识符拿出来用作自己的关键字.因此,就不能再在程序中把这些关键字用作标识符了: 1 break delete function return typeof 2 case do if sw ...
- 前端入门知识点笔记本之js重定位函数
1. call().bind().apply()的用法,改变this的指向,区别在于f.call(obj, arg1, arg2...),f.bind(obj, arg1, arg2,...)(),f ...