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<>可以
随机推荐
- Visual C++ Redistributable for Visual Studio各版本下载地址
Visual C++ Redistributable for Visual Studio各版本下载地址飞鹰_天涯于 2021-06-24 09:35:21 发布 5978收藏 8版权Microsoft ...
- pgsql 查询结果转换为json数组
select array_to_json(array_agg(row_to_json(t))) from (SELECT * FROM test) t
- SDCC 学习
单个led.c文件 #include <stdbool.h> __sfr __at(0xb0) P3; __sfr __at(0x88) TCON; __sfr __at(0x89) TM ...
- HTML-background-image
background-image:用于设置需要显示背景图片: 例如-->background-image:url(demo.jpg); 大家知道ulr()中是填写路径:(现在假设背景图片名字叫做 ...
- ArrayList集合的方法
ArrayList元素的增加.插入.删除.清空.排序.反转 using System; using System.Collections; using System.Collections.Gener ...
- 1.1 WCF SOA架构和webservice
1.什么是SOA? SOA全称:面向服务架构(service Oriented Architecture),它是一种组件架构模式. 一.定义 1.WebService:严格来说是行业标准,不是技术,使 ...
- C# 内存回收
开发完成之后发现自己写的程序内存占用太高,找到如下解决方案 使用了一个timer每2s调用一次ClearMemory() #region 内存回收 [DllImport("kernel32. ...
- 冰冻三尺非一日之寒,记录Java
一.数据类型 Java是一种强类型语言,什么是强类型语言? 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 Java的数据类型又分为两大类: 1.基本类型:基本类型有分为数值 ...
- MAMP redis.conf 位置 , nginx.conf位置
/Applications/MAMP PRO.app/Contents/Resources/redis.conf /Applications/MAMP/conf/nginx/nginx.conf /A ...
- Mardown学习
Mardown学习 标题: 一级标题:'#'+'空格'+'标题名字'+'回车' 二级标题:'##'+'空格'+'标题名字'+'回车' 三级标题:'###'+'空格'+'标题名字'+'回车' 四级标题: ...