C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.constexpr和常量表達式
1.1 常量表達式
定義:變量的值在編譯器的時候就可以得到是一個常量
eg. const int i = 0;1.2 constexpr變量
讓編譯器來驗證變量的值是否是一個常量表達式。
eg.
1.3 字面值類型 literay type
一個constexpr 指針的初值是nullptr或者一個固定地址。
const int* p= nullptr; constexpr int* q= nullptr; //等價于 int* const q= nullptr;2 類型處理
2.1 類型別名type alias
2.1.1
2.2.2 指針
typedef char *pstring; const pstring cstr = 0;//cstr是指向char的常量指針不是const char* cstr1;//cstr1則表示指向常量char的指針3 auto
定義:不知道變量的類型,直接用auto聲明
3.1 auto會忽略頂層const
const int ci = i; auto b = ci; auto e = &ci;// e是一個指向整數常量的指針如果希望b是頂層const,則const auto f = ci;
3.2 引用可以用于auto
eg.
3.3 多個變量
初始值類型得一致
eg.
auto &k = ci, *p = &ci;//ok auto &n = i, *p2 = &ci;//error4. decltype類型
定義:希望從表達式的類型推斷出變量的類型,但又不想賦初值
eg.
4.1 decltype和引用
decltype的括號里面可以是一個表達式結果
eg.
decltype如果嵌套(),那么一定返回引用
decltype((i)) d;5. 類內初始值
class Sales_item { unsigned units_sold = 0; double revenue = 0.0; }6.頭文件保護
eg.
#ifndef SALESITEM_H #define SALESITEM_H #endif參考
[1]: 代碼 https://github.com/thefistlei/cplusprimer/tree/main/cprimer
總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(2)c
- 下一篇: C++ Primer 5th笔记(3)字