码迷,mamicode.com
首页 > 编程语言 > 详细

C++编程思想

时间:2015-08-25 15:43:52      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

1.声明和定义

  声明是相编译器介绍名字-标识符,它告诉编译器“这个变量或函数在某处可以找到,它的模样”。而定义是说:“在这里建立变量”或“这里建立函数”,为变量和函数分配存储的空间。

2.语言的翻译

  任何计算机语言都要从某种人们容易理解的形式(源程序)转换成为机器理解和执行的形式(机器指令),编译器和解释器是两种翻译工具。

3.链接的顺序

  因为链接器按照顺序查找文件,所以,如果用户自定义与库函数相同名称的函数,把带有这个函数的文件插入到库函数文件名列表之前,就能使用自定义的函数替代库函数。这有可能是个bug,C++名字空间禁止这样。当创建一个C/C++可执行程序时,链接器会秘密的链家某些模块。其中之一就是启动模块,它包含了对程序初始化的例程,初始化例程是C/C++程序执行时必须首先执行的程序,它主要建立堆栈并初始化程序中的某些变量。

  标准库中只需要添加头文件就行,应为库文件总是能找到的。如果使用附件的库文件,则必须把对应的文件添加都链接器的查找文件列表中。

4.整个C的库默认的包含在C++标准库中。

5.iostream类可以从文件、标准的输入输出设备(通常指控制台,但也可重定向到文件和设备)读取和写入数据。

6.操作符重载,<<和cout对象在一起就是“发送到”,和整数在一起就是“左移”。

7.名字空间  C语言的所有函数和变量名都在同一个空间里,大的工程,几个人共同开发是,命名得非常小心。C++通过namespace关键字解决了这个问题,所有的C++标准库的名字都分装在同一个空间std中。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.wchar_t和char16_t、char32_t区别:后两个是最新的标准添加。

#include <iostream>
 
int main()
{
    wchar_t ch = ‘高‘; 		//宽字符  char16_t和char32_t是C11新添,本机不支持
    std::cout << ch << std::endl;
 
    return 0;
}

 2.Hello world!

  

#include <iostream>

using namespace std;    //作用域?
 
int main()
{
    cout<<"Hello World!I am "
    <<8<<"Today!"<<endl;
    
 
    return 0;
}

  

E:\myDocuments\GUN\C++>g++ Demo.cpp -o  Demo.exe

E:\myDocuments\GUN\C++>Demo.exe
Hello World!I am 8Today!

E:\myDocuments\GUN\C++>

3.输入输出流:对于数据输出有多重格式

  

#include <iostream>

using namespace std;    //作用域?
 
int main()
{   
    cout<<"A number in decimal "
    <<dec<<15<<endl;        //十进制 dec<<15
    cout<<"A number in octical "
    <<oct<<0x0F<<endl;        //八进制    oct<<15
    cout<<"A number in hexadecimal "
    <<hex<<15<<endl;        //十六进制  hex<<15    
    cout<<"A float number "
    <<3.14159268<<endl;            //多少精度?    
    cout<<"Non-printing char(escape) "
    <<char(0x1B)<<endl;        
    
    int number;
    cout<<"Enter a number "<<endl;        
    cin >> number;                //默认输入的为十进制
    cout<<"value in octical = 0"
    <<oct<<number<<endl;
    cout<<"value in hexadecical = 0x"
    <<hex<<number<<endl;
    
    return 0;
}

E:\myDocuments\GUN\C++>Demo.exe
A number in decimal 15
A number in octical 17
A number in hexadecimal f
A float number 3.14159
Non-printing char(escape) 
Enter a number
15
value in octical = 017
value in hexadecical = 0xf

E:\myDocuments\GUN\C++>

4.调用其他程序:标准C语言的system()函数,C/C++可以调用任何程序,system()在头文件cstdlib(从原来的stdlib而来)。

  

#include <cstdlib>

using namespace std;    //作用域?
 
int main()
{   
//    system("Hello");
/*E:\myDocuments\GUN\C++>Demo.exe
‘Hello‘ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

E:\myDocuments\GUN\C++>
*/    
    /*
        功 能: 发出一个DOS命令
        用 法: int system(char *command);
    */
    system("dir");
    
    return 0;
}
/*
输出:结果和直接在命令行下面输入一个dir(列出当前目的下文件)一样的效果
E:\myDocuments\GUN\C++>g++ Demo.cpp -o  Demo.exe

E:\myDocuments\GUN\C++>Demo.exe
 驱动器 E 中的卷是 DATA
 卷的序列号是 EC10-1C79

 E:\myDocuments\GUN\C++ 的目录

2015-08-25  11:21    <DIR>          .
2015-08-25  11:21    <DIR>          ..
2015-08-25  10:41           496,719 a.exe
2015-08-25  11:21               341 Demo.cpp
2015-08-25  11:21            15,883 Demo.exe
2015-08-21  09:52               111 GUN.bat
               4 个文件        513,054 字节
               2 个目录 81,164,349,440 可用字节

E:\myDocuments\GUN\C++>dir                                        --------直接输出dir命令
 驱动器 E 中的卷是 DATA
 卷的序列号是 EC10-1C79

 E:\myDocuments\GUN\C++ 的目录

2015-08-25  11:22    <DIR>          .
2015-08-25  11:22    <DIR>          ..
2015-08-25  11:21               341 Demo.cpp
2015-08-25  11:21            15,883 Demo.exe
2015-08-21  09:52               111 GUN.bat
               3 个文件         16,335 字节
               2 个目录 81,164,349,440 可用字节

E:\myDocuments\GUN\C++>



*/

 

C++编程思想

标签:

原文地址:http://www.cnblogs.com/hinice/p/4756977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!