zoukankan      html  css  js  c++  java
  • C++帮助文档(自己写的)

    以下所有记录几乎都是摘抄自《C++ primer 5th 中文》

    auto   类型说明符   P61

    特点:

    1.     定义的变量必须有初始值

    2.     通过初始值来推算变量的类型

    3.     在一条语句中声明多个变量时,这些变量的基本数据类型必须一样。(注意,并没有说限定符等修饰符也要一样)

    4.     编译器推断出来的auto类型有时候和初始值并不完全一样,会适当改变结果类型使其更符合初始化规则。

    5.     一般会忽略顶层const,保留底层const

    为什么要有它:

    编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚地知道表达式的类型。然而做到这一点并非那么容易,有时甚至根本做不到。为此有了auto类型说明符。

    decltype 类型指示符 P62

    特点:

    1.编译器分析表达式并得到它的类型,却不实际计算表达式的值

    2.处理顶层const和引用的方式与auto有点不同:如果其使用的表达式是一个变量,则返回该变量的类型(包括顶层const和引用在内)

    3.可以不初始化,但是有些特殊的必须初始化,比如引用。

    为什么要有它:

    希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量。

    const 常量限定符(修饰类型) P53

    constexpr 类型 (修饰表达式)     P59

    =const expression

    常量表达式=值不会改变并且在编译过程就能得到计算结果的表达式

    Void*指针  P50

    1.只能用来和别的指针比较、作为函数的输入或输出、或者赋给另一个void*指针。

    2,可用于存放任意对象地址,但我们不知道这个地址里的到底是什么对象

    string P76、77

     初始化:

    #include <iostream>
    #include <string>
    using std::cout; 
    using std::endl;
    using std::string;
    int main()
    {
    	string s1;
    	string s2(s1);
    	string s3 = s1;
    	string s4("value");
    	string s5 = "value";
    	string s6(10, 'c');
    	return 0;
    }
    

    操作:

    Struct  定义类的关键字  P64

    Struct sales_data

    {

    。。。。

    };

    关键字紧跟类名和类体(类体可空)

    typedef 类型别名(type alias)  P60

    =type definition

    C++11中可以用别名声明来实现:

    using xx=xxx;

    特点:

    1.类型别名和其替代的类型名等价(等价的意思不是把类型别名替换成它本来的样子去理解)

    为什么要有它:

    让复杂的类型名字变得简单明了、易于理解和使用,还有助于程序员清楚地知道使用该类型的真实目的。

    预处理器功能  

    头文件保护符   P68

    =header guard

    #ifndef 大写头文件名

    #define 大写头文件名

    ............

    #endif

    #include 

    #include 头文件名

    预处理器看到这个标记时就会用指定的头文件内容替代#include

    wuduojia
  • 相关阅读:
    void die(const char *msg)
    [C] Re-execute itself from elf file.
    在cnblog中使用syntax方法
    CVE-2016-0822-MTK-drivers/misc/mediatek/connectivity/common/combo/linux/wmt_dev.c#1158
    CVE-2016-2502-drivers/usb/gadget/f_serial.c in the Qualcomm USB driver in Android. Buffer Overflow Vulnerability reported by #plzdonthackme, Soctt.
    Insertion Sort
    [Java] 歐付寶金流串接教學
    [面試題]C符號的優先順序
    [LeetCode]Search a 2D Matrix
    [leetcode] Search a 2D Matrix II
  • 原文地址:https://www.cnblogs.com/wuduojia/p/7614184.html
Copyright © 2011-2022 走看看