王牌9 优秀程序员之路——C++开发经验及技巧大汇总.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:25 大小:245KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

王牌9 优秀程序员之路——C++开发经验及技巧大汇总.pdf

王牌9优秀程序员之路——C++开发经验及技巧大汇总.pdf

预览

免费试读已结束,剩余 15 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

优秀程序员之路——C++开发经验及技巧大汇总王牌9优秀程序员之路——C++开发经验及技巧大汇总1.主函数是“voidmain()”还是“intmain()”?通常ANSI/ISO的标准,正确的形式只有两种:intmain(){/*……*/}intmain(intargc,char**argv){/*……*/}其他的形式在移植的时候可能出现错误。2.如何暂停一个控制台程序?如果是在windows平台,可以用:system(“PAUSE”);其他平台,可以用:cin.get();3.如何在C++使用汇编?intadd(inta,intb)//{return(a+b);}intmain(){intnRet;_asm{push1;push2;calladd;movnRet,eax;}cout<<“nRet:”<<nRet<<endl;return0;}4.如何读取一个文件?#include<fstream.h>intmain(){1C++从入门到精通ifstreamOpenFile("test.txt");charch;while(!OpenFile.eof()){OpenFile>>ch;cout<<ch;}return0;}5.如何保存一个文件?#include<fstream.h>intmain(){ofstreamSaveFile("test.txt");SaveFile<<"HelloWorld!";return0;}6.如何把一个整型变量转变为字符串?#include<iostream>#include<string>#include<sstream>usingnamespacestd;intmain(){stringstreamstr;inti=10;str<<i;cout<<str.str()<<endl;system("PAUSE");return0;}7.typedef和预处理宏有何区别?Typedef和#define都可以用来对已有的数据类型赋予一个新的别名。而问题的出现是当我们对指针这种类型的操作时。Typedefs在这个时候能做出正确的处理。看下面的例子:typedefchar*string_t;#definechar*string_dstring_ts1,s2;2优秀程序员之路——C++开发经验及技巧大汇总王牌9string_ds3,s4;在上面的声明中,s1,s2和s3都被申明为字符型指针,而s4却被申明为字符,这并不是预期所想得到的结果。那既然是这样,为什么还要使用预处理宏呢?因为预处理宏的好处是在使用诸如#ifdef时体现出来的8.如何定义一个安全字符串?charch[4]=“test”;这样虽然在C中式合法的,但在C++中最好这样charch[5]=“test”;或者charch[]=“test”;或者stringch=“test”;9.如何获取本程序的程序名?#include<iostream>usingnamespacestd;intmain(intargc,char**argv){……cout<<”Myprogramname:”<<argv[0]<<endl;……}10.如何使用正确的文件路径?#include<iostream>#include<fstream>intmain(){ifstreamfin(“e:\\test.txt”);//注意这里是两个\如果一个就会出现错误charch;fin>>ch;return0;}11.如何让‘=’返回一个*this类型的引用?classCTest{public:3C++从入门到精通CTest&operator=(constCTest&val){return*this;}……}12.const修饰符如何使用?下面就针对指针说明一下const的使用方法:charconst*pChar;constchar*pChar;这两种意思一样,区别在于程序员的习惯,有的人喜欢第一种,有的喜欢第二种,不过这两种在实际编程中都有出现。这个意思是指针所指的值的类型不可变,也就是说pChar指向一个字符,它不能只只其他字符,如:inttmp=20;*pChar=tmp;这就是错误的。charch=‘a’;char*constpChar=&ch;这个意思是指针的值不能变,也就是这个指针变量所存的一个内存地址不能变,这个类型变量必须初始化。如:inttm