随笔分类 - C++
摘要:冰哥哥最近在刷笔试题,昨晚问了一个没有意义,但很有意思的一个问题:求输出:#includeint main(){ int a=10; a+=a-=a++; std::cout操作符属于同一优先级,所以不能写出a->b++这样的表达式)于是,上面的运算表达式可以写成:a+=a-...
阅读全文
摘要:我们都知道const的作用是声明变量为常量,在程序中除非显示转换,否则无法修改声明为const的对象。本文针对显示修改的情况,提醒了一种隐式的错误,以及解决办法。考虑下面的代码:#includeint main(){ const int a=0; int *p=const_cas...
阅读全文
摘要:static加到一个非类成员函数的函数(有点绕口,就是普通函数。因为类成员函数的static版本有其他的用途)前面,相当于匿名空间的作用——信息隐藏。翻译成白话版就是,只有在当前编译单元中可以被看到,而在别的编译单元中看不到。(什么是编译单元?就是一个展开了包含了头文件的cpp文件)看下面的两段代码...
阅读全文
摘要:#include#include#define min(a,b)!(b<a)?a:bint main(){ int a=1,b=2; std::cout<<(std::min)(a,b); return 0; }加入一个括号,std::min就不会被宏替代了。
阅读全文
摘要:在C和C++中,函数也是一种类型,原因是可以指向函数的指针。这个指针指向了内存中函数的入口处。(多么有趣的现象!因为这一下子把程序和进程的概念似乎又引入进来了!)void (*fPtr)(int );//这是一个变量的定义,指针变量由于函数是一种类型,我也就可以使用typedef关键字:对于函数:v...
阅读全文
摘要:在MSVC中,_strdup(const char *p)函数的作用是返回一个指针,这个指针指向p的一个复制串。#includeint main(){ char str[]="this is a string"; char *dstring=strdup(str); std::co...
阅读全文
摘要:今天在SVN上下载了最新版本的渲染引擎工程文件,想编译Release X64的时候出错,提示无法找到xxxx.h文件 。学习这种事,一定不能马虎。为了解决头文件在原来作者电脑上能编译,放在别的同样布置的电脑上却提示找不到头文件的问题。我们要提供给编译器的路径信息一定是可移植的。在VS2008后的版本...
阅读全文
浙公网安备 33010602011771号