• C++ 临时笔记


    让程序暂停的简单写法:    cin.get();

    cout.put(65);    //输出 A 

    头文件 iostream 中提供了控制符 dec 、hex 和 oct,分别指示十进制的、十六进制和八进制格式显示整数。默认为十进制,在修改格式之前,原来的格式将一直有效:

    如:cout<<hex<<11<<endl;      //b

    表示各种整型的系统限制的climits文件,可以直接输出 INT_MAX、SHRT_MAX、LONG_MAX、INT_MIX 和 CHAR_BIT等来查看一些整型信息。

      

    共用体:类似于结构,但不同是只能同时表示一个变量。由于共用体每次只能存储一个值,因此其长度为其最大成员的长度。

    union one4all
    {
        int i;
        double j;
    };

    char *c1 = "abc" 和 char c2[]="ABC",前者是字符串字面量,在c++中是常量,不可修改;后者是在栈区, 分配了额外的内存,可修改。"abc"实际表示的是字符串的地址,因此这条语句是将"abc"的地址赋给了c1指针。

    //char* 的用法:
    char
    * c = "df"; cout<<c<<endl; // c是指针,按理来说应该打印指针,但这里却是输出 "df",如果要显示字符串的地址的话,就要用下面的 (int*)c 了 cout<<*c<<endl; // d cout<<*(c+1)<<endl; // f cout<<(int*)c<<endl; // 字符串的地址 cout<<*"df"<<endl; // 字符串字面值表示的是字符串第一个字符的地址,所以这里解引用,会得到 "d" cout<<*("df"+1)<<endl; // f

        

    声明整个类的常量,有两种方式:

    class User
    {
        private:
            enum{Len1 = 30};
            static const int Len2 = 30;
        public:
            void print()
            {
                cout<<User::Len1<<endl;
                cout<<User::Len2<<endl;
            }
    };
    ostream & operator<<(ostream &os,const User &user)
    {
        os<<"username:"<<user.username<<"   password:"<<user.password<<endl;
        return os;
    }

    int array[3] = {1,2,3};  //这里可以省略数组长度,但不推荐。用于字符串时推荐,如:char fish[] = "Bubbles";    //这里长度不是7,而是8

    将数组地址作为参数可以节省复制整个数组所需的时间和内存,如果不需要改变数组请使用 const 关键字避免风险。此外,传递数组时还需要传递数组长度信息。

    void fillArray(int array[] , int size);

    而不要试图这样:

    void fillArray(int array[size]);

    还有一种方法,也是传递两个参数,即传递两个指针,一个标识开头,一个标识尾部,如STL的“超尾”概念。(超尾即最后一个元素后一个位置)

    将指针参数声明为常量数据的指针。(尽可能使用const)

    可以避免由于无意间修改数据而导致的编程错误;

    使const使得函数可以处理const和非const实参,否则将只能接受非const数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

  • 相关阅读:
    2021.4.11(每周总结)
    2021.4.9
    2021.4.8
    2021.4.7
    k8s集群安装(一)安装方案介绍
    k8s映射外部服务Endpoints
    Linux服务器配置上网代理squid
    SonarQube学习笔记
    yum安装指定版本mysql
    linux目录没有颜色的处理
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/2473207.html
Copyright © 2020-2023  润新知