![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
coding进阶
清华,互联网大厂和量化投资
展开
-
正确使用C++宏定义
很多人使用宏定义后,发现程序的输出和自己原本设想不一致,这很可能是因为计算优先级导致的。对于下面的宏定义,请问输出是什么?#include using namespace std;#define X 5#define Y X+1#define Z Y*X/2int main(){int a = Y*X/2;coutretu原创 2012-12-07 16:20:11 · 763 阅读 · 0 评论 -
char*,const char*和string 三者转换
1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str() EX: string s = "tsinghua";原创 2011-11-30 16:22:28 · 66144 阅读 · 2 评论 -
int*和char*转化可能导致的错误
其实不一定是指int*,对于任何用户自定义的结构体,在和char*转化时可能带来的问题:(1) 访问越界,导致结果错误因为int是4个字节,char*的字节数不定,所以在将char*转化为int*时,可能出现访问越界问题,导致值出错。(2) 字节对齐问题#include using namespace std;int main(){ char* s原创 2011-08-05 14:29:32 · 1403 阅读 · 0 评论 -
C++和Java运算符优先级表
1. C++ operator precedencePrecedenceOperatorDescriptionAssociativity1::Scope resolutionLeft-to-right2++ --Suffix/postfix increment and decreme原创 2013-03-26 22:46:42 · 1251 阅读 · 0 评论 -
C++ 控制小数位
#include #include #include using namespace std;int main(){ double r; while(cin>>r) { r = r>=0?r:-r; cout << setiosflags(ios::fixed) << setprecision(2) << r << endl; } return 0;原创 2013-03-20 18:03:55 · 989 阅读 · 0 评论 -
如何写makefile
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一转载 2013-03-05 16:21:00 · 756 阅读 · 0 评论