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<>可以
随机推荐
- alpine镜像安装sshd以进行远程debug
FROM alpine:latest RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories ...
- 关于sql json数据的处理
$resultProductPrice = DB::update("update lev_product_price set detail=json_set(detail,'$.颜色','红 ...
- div 自动高度
问题: 一个页面分上下二部分,上部分高度是固定不变的,要求下部分高度自动占满屏幕,如何实现? 第一感觉是准备用 JS 实现. 今天发现一个用 CSS 实现的方法 position: fixed; bo ...
- Vuex学习记录篇之王阿姨畅谈Vuex
Vuex是干什么的,相信很多人和我一样刚开始不大清楚 大家都知道Vue实现组件通信(传参)有很多方式所谓通信就是指数据共享,父子通信,兄弟通信但是如果要频繁实现数据共享,那么以上的方法就有点力不从心了 ...
- 自我察觉 vs 自我意识
自我察觉,知道并理解自己的意图,能够知晓自己干什么 自我意识,评估并修正自己的意图,能够自主选择干什么
- createrepo 命令详解
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据. 语法: createrepo [option] <di ...
- drf从入门到飞升仙界 06
模型类准备 from django.db import models # 图书跟作者:多对多,需要建立中间表,但是我们可以通过ManyToManyField自动生成,写在哪里都行 # 图书跟出版社:一 ...
- 递归分批次插入数据(An I/O error occurred while sending to the backend报错解决方案)
//递归插入public void add(List<Object> all, long start, long limit){ //截取 List<Object> colle ...
- web server 接口调用
1. 生成客户端代码 2.调用接口 import javax.xml.ws.Service;public static NotificationServiceDevImplPortType mokaA ...
- 进程间通信-信号-pipe-fifo
一.实验截图 (一)fifo (二)pipe (三)signal 二.实验代码 fifo //consumer #include <stdio.h> #include <stdlib ...