C++
Alsmile
乐吾乐
le5le.com
展开
-
内存管理专题 http://soft.yesky.com/lesson/110/2381610.shtml 【无内容】
原创 2011-06-07 17:54:00 · 856 阅读 · 0 评论 -
vector 的 push_back[转]
vector是用数组实现的,每次执行push_back操作,相当于底层的数组实现要重新分配大小(即先free掉原存储,后重新malloc);这种实现体现到vector实现就是每当push_back一个元素,都要重新分配一个大一个元素的存储,然后将原来的元素拷贝到新的存储,之后在拷贝push_back的元素,最后要析构原有的vector并释放原有的内存。 例如: 当主函数只有一个pus原创 2011-06-07 17:54:00 · 32929 阅读 · 2 评论 -
智能指针作为函数参数:普通参数、指针参数、WPARAM
一、auto_ptr和shared_ptr作为普通参数、指针参数 我想这是我们使用最多的,直接传过去好了,基本上没什么好担心的。例如: 1. T* pt = new T; auto_ptr ap( pt); // void f1(auto_ptr ap); f1(ap);原创 2013-04-27 14:26:39 · 8071 阅读 · 0 评论 -
禁用第三方库警告
#pragma warning(push)#pragma warning(disable:4009)#include #pragma warning(pop)原创 2013-07-19 17:13:02 · 875 阅读 · 0 评论 -
VC2010下使用ffmpeg
编译了两天的MinGW下的ffmpeg,找了一下常见的老文章照着做,各种错误都需要解决。挺花时间的。 其实可以直接使用官方网站上下载已经编译好的文件。从http://ffmpeg.org/download.html进去,可以看到有static,shared,dev三个版本。static是直接可运行的exe,适合直接运行或命令行运行。我们主要用到shared和dev版本。dev版本就是wi原创 2013-11-19 11:18:29 · 5038 阅读 · 0 评论 -
Boost ptree 解析 (spirit 库)多线程 崩溃
一直喜欢用boost,但是 ptree 解析在多线程下确实很容易崩溃。其实只需要添加一个宏,一直记不住,现在收藏一下。原因:ptree解析使用的是语法解析器spirit库,默认非线程安全。如果在多线程下使用,如下即可:(在#include 后面定义语法解析库线程安全宏)#include #define BOOST_SPIRIT_THREADSAFEp原创 2013-11-13 09:49:18 · 4056 阅读 · 0 评论 -
利用boost/locale和ofstream写utf8格式文件
每次都会以前代码中找这段代码,现在放上来,方便查找。#include #include #include #include std::ofstream txtFile; std::locale oldLocale; std::locale utf8Locale(oldLocale, new b原创 2013-12-05 17:36:55 · 4523 阅读 · 0 评论