• C++ Primer 学习笔记 2012.4.5


       当初[一年半前]C++ Primer时有点儿早,很多书上的东西都看不懂,看的收获太少了,现在就感觉好多了,感觉收获了不少!!!

    @1

    cl -GX prog.cpp

    cl是调用编译器的命令,-GX是一个选项,该选项在使用命令行界面编译程序时时必需的,微软编译器自动产生与源文件同名的可执行文件,这个可执行文件具有.exe后缀且与源文件同名。本例为prog.exe

     

    @2

    \123   : 只要是 \后面接数字,则数字就是八进制的,当后面接的数字个数少于等于三个时,则此字符(\123)表示八进制数字表示的字符;但当数字的个数多于三个时则前三个表示字符,后面的数字就是普通的字符串

    \x123   : 与上面的类似,但是用十六进制数字表示字符,而且对数字的个数没有限制,但如果数字太大的话,编译器会提示数字太大了(不能代表有效字符,编译出错)

     

    @3

    C++ 支持两种出事话变量的形式:复制初始化和直接初始化,复制初始化语法用等号(=),直接初始化把初始化式放在括号中:

    int ival(1024); //直接初始化

    int inval = 1024; //复制初始化

    初始化不是赋值;

    使用=来初始化变量使得许多C++编程新手感到迷惑,他们很容易把初始化当成是赋值的一种形式。但在C++中初始化和赋值是两种不同的操作。这个概念特别容易误导人。直接初始化语法更加灵活且效率更高。

     

    @4

    字符常量中不能有换行符。若用换行符则用 \n

    静态变量是属于定义该变量的类的,而不是对象的。由于这个原因,静态变量不能实现多态,因为多态是针对对象而言的,而静态变量是属于类的,而不是属于某一个对象。

     

    @5:

    View Code
     1 #include <iostream>
     2 
     3 #include <string> //是这个头文件
     4 
     5 using namespace std;
     6 
     7  
     8 
     9 int main(){
    10 
    11 string str1 = "Hello"; //复制初始化
    12 
    13 string str2("World!"); //直接初始化
    14 
    15 string str3(10, 'a'); //10 个a 组成的字符串
    16 
    17 //可以用"同一个定义中"前面已定义变量的值初始化后面的变量
    18 
    19 //同一个定义中的可以,那么不是同一个定义中的更可以了
    20 
    21 double salary = 999.99, wage(salary + 10);
    22 
    23 string str4 = "C++ Primer 4th Ed",
    24 
    25 str5(str4 + " !");
    26 
    27 cout << str1 << "\t" << str2 << "\t" << str3 << endl;
    28 
    29 cout << salary << "\t" << wage << endl;
    30 
    31 cout << str4 << str5 << endl;
    32 
    33 return 0;
    34 
    35 }
  • 相关阅读:
    实验-继承&super.doc
    Python库
    Github高级搜索
    代码报错记录
    编程问题解决
    百科
    【Android】添加依赖包
    【Android】导航栏(加图片icon)和不同页面的实现(viewpager+tablayout)
    【Android】Android Studio真机调试的问题统整
    【AD】自己画板的备忘
  • 原文地址:https://www.cnblogs.com/lxw0109/p/CPP_Primer.html
Copyright © 2020-2023  润新知