zoukankan      html  css  js  c++  java
  • C++ Primer Plus读书笔记01

    2012-02-13

    new分配到堆上,栈上分自动变量(就是局部变量)

    new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数

    2012-02-19

    1 sizeof 返回类型或者变量的长度,依赖于不同环境、编译器

            对类型用sizeof,应该加括号,如sizeof(int)

            对变量名,可以省略,如sizeof nMyAge;

    2#include<limits>包含INT_MAX,CHAR_BIT等定义

    3默认cout以十进制输出

            int waist=0x42;//16进制

            int inseam=042;      //8进制   

            cout<<waist<<inseam;           则输出66,34

            但可通过cout<<dec;

            cout<<hex;

            cout<<oct;将输出改为10、16、8进制

            如int waist=42;

            cout<<hex;//更改为16进制

            cout<<waist;则输出2a

    4 const  int  a=12;取代#define  a  12;

    5float只表示数字前6、7位精度,所以修改其他位数不影响精度

     float a=2.34E+22f;

    float b=a+1.0f;

     cout<<a-b;     //输出0

    6 cout.setf(ios_base::fixed,ios_base::floatfield);//加于程序头部

    作用:防止将太大数切换为科学计数,保证显示到小数点后6位

    7 int thorn;

    long test=(long)thorn;//强制转换不修改thorn本身,而是创建一个新的指定类型的值

     也可以用static_cast<long>(thorn);

    int auks=19.99+11.99;

    cout<<auks;                   //输出31不是30

     

    2012-02-21

    1、 任何两个由空白分割的字符串常量都将自动拼接成1个

    例:cout<<”hello””world”<<endl==cout<<”helloworld”<<endl;

    2、 sizeof计算整个数组长度,strlen计算数组中字符串的长度,且不包括’\0’;

    string.size()也只计算字符串长度,不包括’\0’,且未被初始化的string.size()==0

    可通过人为在char数组中添加’\0’来更改终止位。比如name[3]=’\0’

    3、char arr[20];    cin.getline(arr,20);  getline()每次读取一行,通过换行符来确定行尾,但不保存换行符,用空字符替代换行符。 get()也是每次读取一行,但会将换行符保存在队列中,上条语句等价于cin.get(arr,20);    cin.get()//读取回车

    两种方法均返回string类型,所以可以用cin,get(arr,20).get()来取代上两句

    同理,可用cin.getline(arr1,20).getline(arr2,20)  一次读取两个数组。

    另外,如果之前进行过输入操作(如输入年龄),则换行符会停留在缓冲区,用cin.get()消除,否则直接进行cin.getline()会出错

    4      strcpy(charr1,charr2)                    //copy charr2 to charr1

            strcat(charr1,charr2)                     //append contents of charr2 to charr1

  • 相关阅读:
    C++中的空类默认产生哪些类成员函数
    Berkeley Socket API – Creating a TCP/IP client in C
    覆盖父类以及using指令
    strcpy/memcpy/memmove的实现
    [C++对象模型][1]目录与参考
    用setsockopt()来控制recv()与send()的超时
    异常安全的赋值运算符重载函数
    伤不起的指针
    DP01背包
    证明一个数能被3整除,当且仅当它的各位数的和能被3整除
  • 原文地址:https://www.cnblogs.com/yangtianxing/p/2435005.html
Copyright © 2011-2022 走看看