zoukankan      html  css  js  c++  java
  • c11标准

    在编译器vs13及其以上可以使用 编译器对语言的一种优化

    1.变量初始化 int a=0,a(10),a{10};定义a的值的三种方式

    2.nullptr 相当于c的null 有类型 更加的安全

    3.auto 自适应类型 用于返回类型比较复杂的返回值

    4.decltype 用一个变量定义同类型的变量/该类型的引用

    5.关于for的一个用法for(i:arr) 变量数组里所有的数据

    6.类的别名 C语言用 typedef int INT typedef 类型名 别名来定义 c++中用using INT=int来使用

    7.类中成员 一般是构造中赋初值 C11可以直接在类中赋初值

    8.A()=default;自动生成默认构造

    9.委托  在构造中调用自己的其他构造

    10.final 放在虚函数后面防止重写终极函数不能重写 放在类后面终极类不能派生其他子类

     1 #include<iostream>
     2 #include<vector>//向量
     3 using namespace std;
     4 class A
     5 {
     6     int data = 0;
     7     int y;
     8 public:
     9     //A(){ data = 0; }//构造函数
    10     A() = default;//默认构造  如果写了其他构造 默认不在自动生成一个构造函数
    11     A(int data) :data(data){}//有参构造 初始化新参列表
    12     A(int x, int y) :A(x){ this->y = y; }//在里面调用其他构造帮忙做事情 --->委托
    13 };
    14 
    15 class B
    16 {
    17 public:
    18     virtual void fun(){
    19         cout << "父类函数" << endl;
    20     }
    21     virtual void fun2()final{//加上final为终极类不能进行派生
    22         cout << "父类函数2" << endl;
    23     }
    24 };
    25 class C :public B
    26 {
    27     void fun(){
    28     cout << "子类函数" << endl;
    29 }
    30 //    void fun2(){
    31 //        cout << "类函数2" << endl;
    32 //    }子类函数fun2不能继承父类的函数 因为父类函数是终极函数 不能进行派生
    33 };
    34 class D final//不能派生任何子类
    35 {
    36 
    37 };
    38 class E//:public 不能派生D
    39 {
    40 
    41 };
    42 int main()
    43 {
    44     A aa;
    45     int a = 0;//c语言的赋值方式
    46     int b(10);//c++的赋值方式 常用于初始化形参列表
    47     int c{10};//c11标准提出
    48     int d[10]{1, 2, 3, 4, 5, 6, 7, 8, 9};//数组初始化
    49     NULL;//c语言指针空 宏定义 
    50     nullptr;//c++的指针空 void*类型
    51 
    52     auto x = 3.14;//auto类型 根据后面的值返回定义的类型 必须初始化否则无意义
    53     vector<int>arr = { 1, 2, 3, 4, 5, 6, 7, 8 };
    54     //初始化数组
    55     vector<int>::iterator it = arr.begin();//指向第一个元素 iterator用于修改元素的值
    56     auto p = arr.begin();
    57     cout << *it << endl << *p << endl;
    58     int y;//int类型的变量
    59     decltype(y) z;//定义一个变量z
    60     //decltype是返回y的类型 z的类型和y的类型一样 int z
    61     //z是什么类型 根据前面的y确定的 目的:定义同类型的变量
    62     decltype((y)) py = y;//定义一个引用类型 相当于 int& y
    63     for (auto i : arr)//循环打印arr的所有元素 i是新定义的变量 arr是数组
    64     {
    65         cout << i;
    66     }
    67     using INT = int;//给int取别名 INT
    68     using ARR = int[4];
    69     ARR ab;//相当于int ab[4];
    70     cin.get();
    71     return 0;
    72 }
  • 相关阅读:
    B
    Labyrinth 树的直径加DFS
    Speech to Text for iOS
    苹果开发者:Siri未开放API 有些让人失望
    ios6.0 siri语音识别
    Sample example for Speech to Text in iOS
    iOS升级经验分享
    苹果放宽了 iOS 5.0 对应用本地存储的限制
    iOS5可能会删除本地文件储存
    iOS 5 does not allow to store downloaded data in Documents directory? ios5.0及以后的版本对于下载的文件存储路径有了改变
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11397546.html
Copyright © 2011-2022 走看看