• C++高级编程1 C++速成


    C++高级编程1 C++速成

    1.常用的预处理指令

             #include [file]

             #define key value 这个是在C中经常使用的,定义常量数值,用于字符串替换的工作。

             #ifndef key #ifdef key

             #define key

             #endif

             #pragma once 会因为编译器而有所不同,如果编译器支持的话可以用于代替上面的指令,在预处理阶段会提示警告。

             #ifndef KEY

             #define KEY

             //code

             #endif

             可以使用#pragma once 代替。

    2.C++运行程序传递的参数

             int main(int argc,char ** argv):

             其中argv表示的是这些参数,第一个参数都是程序的名字。

    3.变量初始化

             C++中如果使用了未初始化的变量,在程序编译期间会报错,但是我们可以通过指针输出指针指向的内存区域的对象数据,但是该数据是乱起八糟。

             对于利用char 指针指向字符串,删除的时候需要使用 delete [] p,但是问题是必须char指向的是在堆中的内存空间,而不可以是字符串常量。

        char *pChar = new  char[100];

        pChar[0] = 'a';

        pChar[1] ='b';

        pChar[2] = '';

        cout << pChar << endl;

        delete []pChar;

    这个样子是可以的,但是如果char *p = "yangteng";但是不可以delete掉,因为这样的话,指针指向的是在常量区的数据.不可以删除.但是在此语句之前需要删除delete []p;

    4.枚举类型

        enum Type{

            yang,teng=10,fei

        };

        cout <<"enum yang:"<< yang << endl;

        cout <<"enum teng:" << teng << endl;

        cout << "enum fei:" << Type::fei << endl;

    5.C++11规范中新增加的循环:

    int arr[] = {1,2,3,4,5,6};

    for(auto i : arr){ // for(auto & i : arr)

        i  = i*2;

        cout << i << " " ;

    }

    cout << endl;

     

    for(auto i : arr){

        cout << i<<" " ;

    }

    cout << endl;

    6数组的初始化

        int arr [10]={10};//只有第一个元素是10,其他的都初始化为0

        for (int i =0; i<sizeof(arr)/sizeof(int) ; i++){

            cout << arr[i] << " " ;

        }

        cout << endl;

        在C++11 中引入了array (#include <array>)初始化为 0,但是大小在编译期间就已经决定了,不可以字运行的时候改变,运行时数组不会变大或者是变小。

        array<int,4> arr = {9,7};

        for(auto i : arr){

            cout << i << " ";

        }

    7.堆栈的知识

        堆栈和栈是在编译期间决定了内存的大小,因此在编程中是不可以声明大小可以变化的数组,必须是确定的值。

        const int size = 100;

        int arrays[size] ;

        这样是对的,但是如果将const删除掉,就会出现编译不通过的错误提示。

    8.字符串的形式

        C风格的字符串:

        char  arrayString[10] = “yang”;最后面需要考虑字符。

        char* p = “yang;

        c++中使用的是string

    9.const用法

    定义常量 const float PI = 3.1415926;

    const保护参数, void fun(const int a); 放置在程序中修改参数变量的值。

    修饰方法,放在最后面,在成员函数中,如果不修改成员变量的话,就最好使用const修饰成员函数,然后在程序函数中如果不小心修改了成员变量,就会编译报错。

  • 相关阅读:
    高性能可扩展mysql 笔记(一)数据库表、索引、SQL语句设计规范
    Mybatis 的动态SQL,批量增删查改
    数据库之 MySQL --- 视图的原理解析与创建(八)
    8.0 以上版本 mySQL数据库导致的命令行可连接,NaviCat不可连接的问题
    数据库之 MySQL --- 数据处理 之 表的约束与分页(七)
    数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)
    数据库之 MySQL --- 数据处理 之 多行子查询(五)
    数据库之 MySQL --- 数据处理 之 单行函数、组函数 (四)
    数据库之 MySQL --- 数据处理 之多表查询 (三)
    数据库之 MySQL --- 数据处理 之 子查询 (二)
  • 原文地址:https://www.cnblogs.com/hbhzsysutengfei/p/3409476.html
Copyright © 2020-2023  润新知