C++
文章平均质量分 83
懒得打字
没分发贴了,给点分吧...
展开
-
assert初探
C++ Reference中对assert函数的描述如下:assertvoid assert(int expression) If the argument expression of thismacro with functional form compares equal to zero (i.e., the expression isfalse), a message转载 2010-03-29 09:30:00 · 746 阅读 · 0 评论 -
BOOST XML解析
BOOST XML原创 2016-12-13 17:22:10 · 1902 阅读 · 0 评论 -
BOOST转换lexical_cast
BOOST lexical_cast 奇门异术原创 2016-12-19 15:48:52 · 1128 阅读 · 0 评论 -
fstream获得文件大小
fstream获得文件大小原创 2016-12-23 10:59:07 · 11498 阅读 · 0 评论 -
MSVC/CLANG临时取消编译告警
I am seeking for a way to suppress all possible warnings that i may get with Gcc with pragma directives. I had made some guard macros that help me silence 3rd party headers from warnings, and for now转载 2016-09-24 00:52:25 · 886 阅读 · 0 评论 -
GCC编译错误 There are no arguments to 'X' that depend on a template parameter, so a declaration of 'X' m
No arguments that depend on a template parameterThere are no arguments to 'X' that depend on a template parameter, so a declaration of 'X' must be availableAside: I have a C++ program of moder转载 2016-08-24 21:48:39 · 10243 阅读 · 0 评论 -
查看gcc/g++预定义宏
gcc -posix -E -dM - g++ -posix -E -dM - 够简单吧原创 2016-09-07 17:44:44 · 3589 阅读 · 1 评论 -
使用Qt的qmake管理boost::filesystem代码时出现LNK2019问题
使用QT管理包含有BOOST的代码会出现种种问题,下面的代码使用qmake创建的vcproj编译通过了 string dir_name = sec_log_namespace::logfile_name; boost::filesystem::path logFilePath(dir_name); boost::filesystem::path logFileDir =原创 2016-08-29 12:02:20 · 1408 阅读 · 0 评论 -
BOOST编译
需要打开命令提示符(cmd.exe)窗口并执行bjam,可以使用--help参数来查看命令帮助。这里详细讲解一下bjam的命令行参数,因为它非常重要。首先,它涉及到编程环境的搭建,你需要根据自己今后具体的使用环境来选择合适的命令行参数;其次,它影响到你的硬盘空间,完全编译的话据说在3G以上,如果你同时拥有2个以上的IDE(如VC6和VC9共存)而且都要用到boost,那么占用多少硬盘就自己算吧……转载 2016-08-27 16:09:53 · 1989 阅读 · 1 评论 -
Boost::filesystem 使用小笔记
今天拿起手要用C++写个小工具,从指定的目录递归遍历文件,然后做一下处理。又翻了一下boost的filesystem库。小结一下,希望能加深印象,免得下次又要查看文档。1. path对象就是一个跨平台的路径对象。有许多方法访问路径的各个部分,也用它的iterator迭代路径中的各个部分; path构造目录结构的时候使用“/”运算符,非常直观。 比如path p1;转载 2016-08-27 15:38:49 · 2264 阅读 · 0 评论 -
inline内联函数不能为virtual虚函数的原因
1.内联函数是个静态行为,而虚函数是个动态行为,他们之间是有矛盾的。 2.我们之所以能看到一些象内联函数的虚函数,是因为某个函数是否是内联函数不是由我们说的算,而是由编译器决定的。我们只能向编译器建议,某个函数可以是内联函数(inline关键字),但是编译器有自己的判断法则。所以可能出现这样的情况: 2.1 我们用inline声明的函数却没有inline 2.2转载 2016-08-01 23:35:21 · 3652 阅读 · 0 评论 -
使用std::copy以及ostream_iterator快速对数组操作
以往对一个array进行输出时,往往使用for循环,虽然什么不好的地方,简单明了,但是代码中冗余行数太多。先来一个输出array的例子 int buf[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; copy(buf, buf+10, ostream_iterator(cout, " "));够简单吧,有些时候输出的时候需要输出十六进制,并原创 2016-07-12 15:45:41 · 2628 阅读 · 0 评论 -
istringstream, ostringstream和stringstream
istringstream,ostringstream,stringstream的使用方法原创 2011-07-23 14:25:42 · 3433 阅读 · 0 评论 -
在类的成员函数中调用delete this
在类的成员函数中能不能调用delete this?答案是肯定的,能调用,而且很多老一点的库都有这种代码。假设这个成员函数名字叫release,而delete this就在这个release方法中被调用,那么这个对象在调用release方法后,还能进行其他操作,如调用该对象的其他方法么?答案仍然是肯定的,调用release之后还能调用其他的方法,但是有个前提:被调用的方法不涉及这个对象的数据成员转载 2016-07-22 23:56:45 · 3607 阅读 · 4 评论 -
Boost在Linux下64位静态库的问题
在Linux用g++进行编译的boost静态库被动态库引用的时候会报错:/usr/bin/ld: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object原创 2017-08-28 16:48:01 · 3404 阅读 · 0 评论