自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 C++安全的窄转换narrow_cast的新语法实现

//利用了C++新语法:构造自动推导模板类型template<typename SOURCE, typename = std::enable_if_t<std::is_arithmetic<SOURCE>::value>> struct narrow_cast{ SOURCE source; narrow_cast(SOURCE s...

2019-12-24 11:21:46 467 1

原创 windows下mingw32使用tcmalloc

使用的mingw: i686-8.1.0-release-posix-dwarf-rt_v6-rev0 tcmalloc: gperftools2.7覆盖gperftools2.5 msys2: 20180531,这个看起来不重要1)github上,官方的gperftools已经是2.7,但是没有带configure文件,github上还有...

2019-12-23 11:39:28 94

原创 boost::coroutine2用mingw 32编译,出forced_unwind异常的解决

一句话,使用dwarf版本,不要用sjlj版本。

2019-02-23 15:08:09 125

原创 用正则判断配对的“()”?没问题,一行搞定

boost::regex 好像要1.5x吧,扩展perl语法(?(DEFINE)(?<parentheses>(?>\ ((?:[^()'"]|(?&parentheses))*\ ))))\ ( 、 \ )间的空格自己去掉一下。以后直接用(?&parentheses)就行。什么?''和“”里的()怎么办?(?(DEFINE)(?<cha...

2018-12-18 10:19:14 199

原创 C99的指定初始化转化为C89?用(a|e)?bnf实现吧,写个玩玩

struct MemberInfo{    string     type;     string     name;    deque arrSizes;}; struct InitValue{    string value;    vector sub;     string name;//    TYPE   type;    Ini

2014-06-13 22:46:21 1237 1

原创 正则是如何判断有重复/由不重复的数字组成的串的。

源自这里:http://bbs.csdn.net/topics/390804087(?!.*?(\d).*?\1.*?$)\d+

2014-06-05 21:07:39 5920 2

原创 编译宏控过滤和宏替换工具,还是放出来吧,也许对一些人有点用。

http://download.csdn.net/detail/taodm/5075958

2013-02-20 22:50:28 1561 1

原创 boost::preprocess的神秘魔法的实现细节:BOOST_PP_SEQ_SIZE(SEQ)

BOOST_PP_SEQ_SIZE还可以展示一下,BEGIN BOOST_PP_SEQ_FOLD_LEFT(SUB_S, 22, SEQ) == 10 END直接生产了2.6M的log过程。# define SEQ (4)(1)(5)(2) 开始处理代码:BOOST_PP_SEQ_SIZE(SEQ)//--------------------------------------

2013-01-30 20:36:15 2096 2

原创 最小公约数,python怎么写,C++(2011/boost)就也怎么写

http://lionelliu.com/?p=1729def gcd(a, b):     whileb:         a, b= b, a%b    returna int gcd(int a, int b){    while (b)    {        tie(a, b) = make_pair(b, a % b)

2013-01-30 20:23:27 832

原创 最近用了一把boost::range,哎,真方便。(水帖)

难怪有老外大牛写文章“iterator must go"。stl是该彻底重写了。嗯,我的C++代码越来越向python代码靠拢了。

2012-07-29 22:28:23 2086 3

原创 《C++程序设计原理与实践》书评

<br />    在2周内,以1目10行的速度读过了这本书。小小书评如下:<br />    这是一本主要面向初学者的极好的教材。<br />    在我看过的编程书籍中,这是第二本适合于完全无编程经验的初学者的入门书籍(前面一本叫《C语言解析教程》)。但是,这本书目前还没听说有配套的习题、提问解答,所以它也还不能列为完全自学书籍。<br />    这是我见过的唯一一本不以语法为主线索的教材,它是以实践需要来逐次引入相关语法的。对于初学者,最重要的是建立自信。若以语法为主线,也许教材已经看了大半,可还没

2010-08-27 09:48:00 4172 7

原创 今天被挑战自己的基本功了,结果狂汗!

<br />unsigned long aaa;<br />istringstream in("-1");<br />in >> aaa;<br />cout << aaa;<br />sscanf("-1", "%ul", &aaa);<br />cout << aaa;<br />汗!狂汗!<br />起因由此:<br />http://topic.csdn.net/u/20100706/10/70598abf-6f50-4793-b22e-7b8b533a7e62.html?see

2010-07-07 09:19:00 1288 3

原创 持续关注云风的写不出书,和某些的人的写书天下第一

额外针对初学者说一句:绝对入门不要选错书,即使你是富二代,不差钱。买书前,看看书评是很重要。国外书籍,看亚马逊。国内书籍,请多关心csdn。

2010-02-05 15:23:00 1550 3

转载 精彩就不容错过

收藏不显示删除回复显示所有回复显示星级回复显示得分回复某晚,错过了一场好戏(有图有真相)[问题点数:1分] fallening(龖之赫 霆之砉 靐靐靐)等 级: 结帖率:98.43% 楼主发表于:2010-02-01 15:11:29 肖老师尽管举报:

2010-02-02 08:48:00 6279

原创 boost xpressive库,介于正则和bnf库之间的混血。显示c/c++代码注释部分。

#include #include using namespace boost::xpressive;sregex e_string = as_xpr(") >> *((as_xpr(//) >> _) | ~(boost::xpressive::set = //, ")) >> ";sregex e_char = as_xpr(/) >> *((as

2009-06-26 15:28:00 1674

原创 wxString在gcc4.4下的bug

wx的string.h line 259  static const size_t npos;在gcc3X下,会启用外部编链,获得正确的-1.在gcc4.4下,是放弃外部编链,当0处理了。结果,char *无法转换为wxString。解决1  wxString(s, strlen(s))      2 wxString::Format("%s", s);      3

2009-04-13 22:29:00 643

原创 Loki库读解 STATIC_CHECK扩展:可放在任何地方的STATIC_CHECK,编译期打印出类型的大小

在Loki的static_check.h中不只有STATIC_CHECK,还有一个STATIC_SIZE_ASSERT。以前一直忽略了这个STATIC_SIZE_ASSERT,现在突然发现,它是可以写在代码的几乎任何地方的,而STATIC_CHECK只能放在函数中。模仿STATIC_SIZE_ASSERT也实现一个可放在任何地方的STATIC_CHECK并不困难。Loki作这样的选择,我想

2004-04-15 17:39:00 2389 1

原创 Loki库读解-扩展TypeList:Typelist生成器、MaxSizeOf

Loki中的TYPELIST_**宏还是太难用了,因为无法支持不定参数。借鉴于BOOST中的Tuple的想法,实现了这个Typelist_Maker:template         class T6  = NullType, class T7  = NullType, class T8  = NullType, class T9  = NullType, class T10 = Null

2004-04-08 18:51:00 1839

原创 CUJ:高效使用标准库:显式函数模板参数申明与STL

Effective Standard C++ Library: Explicit Function Template Argument Specification and STL A New Language Feature and Its Impact on Old Programming Techniques       Klaus Kreft and Angelika Langerh

2003-05-18 11:01:00 3974 1

原创 CUJ:高效使用标准库:STL中的unary predicate

Effective Standard C++ Library: Unary Predicates in the STL       Klaus Kreft and Angelika Langerhttp://www.cuj.com/experts/1904/toc.htm?topic=experts    标准运行库中的几个泛型算法在运行时使用了一元判定式(unary pr

2003-05-13 11:18:00 3270

原创 CUJ:高效使用标准库:for_each() vs. transform()

Effective Standard C++ Library: for_each() vs. transform()Klaus Kreft and Angelika Langerhttp://www.cuj.com/experts/1902/langer.htm?topic=experts    Note: Article updated on January 5, 200

2003-05-08 12:03:00 2773

原创 CUJ:高效使用标准库:set的iterator是mutable的还是immutable的?

Effective Standard C++ Library: Are Set Iterators Mutable or Immutable? Portability Issues in Using the Standard Library       Klaus Kreft and Angelika Langerhttp://www.cuj.com/experts/1810/kreft.

2003-05-04 00:15:00 2258

原创 CUJ:标准库:bitset和bit vector

The Standard Librarian: Bitsets and Bit VectorsMatt Austernhttp://www.cuj.com/experts/1905/austern.htm?topic=experts在 C++里,你能如愿地玩弄位元,而且甚至不用到宏。--------------------------------------------------

2003-05-01 11:17:00 3125 2

原创 CUJ:标准库:容纳指针的容器

The Standard Librarian: I/O and Function Objects: Containers of PointersMatthew Austernhttp://www.cuj.com/experts/1910/austern.htm?topic=experts--------------------------------------------------

2003-05-01 10:56:00 2187 2

原创 CUJ:标准库:容纳不完全类型的容器

The Standard Librarian: Containers of Incomplete TypesMatt Austernhttp://www.cuj.com/experts/2002/austern.htm?topic=experts-----------------------------------------------------------------------

2003-04-30 11:11:00 1733

原创 CUJ:标准库:定义iterator和const iterator

The Standard Librarian: Defining Iterators and Const IteratorsMatt Austernhttp://www.cuj.com/experts/1901/austern.htm?topic=experts---------------------------------------------------------------

2003-04-23 23:22:00 4120

原创 CUJ:标准库:基于文件的容器

The Standard Librarian: File-Based ContainersMatt Austernhttp://www.cuj.com/experts/1907/austern.htm?topic=experts--------------------------------------------------------------------------------

2003-04-21 09:00:00 1825

原创 CUJ:标准库:标准库中的搜索算法

The Standard Librarian: Searching in the Standard LibraryMatthew Austernhttp://www.cuj.com/experts/1911/austern.htm?topic=experts The genius as well as the oversights in the design of the Stan

2003-04-18 08:45:00 1673

原创 CUJ:标准库:标准库中的排序算法

The Standard Librarian: Sorting in the Standard LibraryMatthew Austernhttp://www.cuj.com/experts/1908/austern.htm?topic=experts-------------------------------------------------------------------

2003-04-16 16:32:00 2488

原创 CUJ:标准库:Allocator能做什么?

The Standard Librarian: What Are Allocators Good For?Matt Austernhttp://www.cuj.com/experts/1812/austern.htm?topic=experts------------------------------------------------------------------------

2003-04-14 09:11:00 2405 1

原创 CUJ:标准库:调试用的Allocator

The Standard Librarian :A Debugging AllocatorMatt Austernhttp://www.cuj.com/experts/1912/austern.htm?topic=experts--------------------------------------------------------------------------------

2003-04-02 08:57:00 3174

原创 CUJ:标准C++编程:虚函数与内联

标准C++编程:虚函数与内联Josée Lajoie and Stanley Lippman----------------------------------------------------------------------------------[This is the last installment of a column that was being published

2003-03-31 09:26:00 2042

原创 Effective STL Item 43:优先使用STL泛型算法以取代手写循环

STL泛型算法vs.手写的循环Scott Meyers准备进行优化?别那么急。Scott正试图让你相信库函数比你自己写的更好。------------------------------------------------------------------------------- [这篇文章源自一本即将出版的书。S. Meyers,Effective STL:50 Specif

2003-03-27 11:06:00 1219

原创 C++语言概念域检查

C++语言概念域检查Dr. Dobbs Journal June 2001出处:http://hyper.vcsun.org/HyperNews/rlingard/get/CS380f2002/sharing/201.html 使用模板进行编程的更佳实践。By Jeremy Siek and Andrew LumsdaineJeremy and Andrew work in

2003-03-27 10:54:00 1379

原创 CUJ:普及知识:typeint

普及知识: typeintStephen C. Dewhurst  (WQ注:这是比Loki还令我震惊的东西,实在难以译好。先放出来让大家都震惊一下,以后我会修订的。)--------------------------------------------------------------------------------    在最近的系列文章中,我们为 C++语言设计和实现

2003-03-15 10:17:00 1221

原创 Effective STL: Item 44:优先使用与泛型算法同名的成员函数

 Item 44:优先使用与泛型算法同名的成员函数一些容器拥有和STL泛型算法同名的成员函数。关联容器提供count()、find()、lower_bound()、upper_bound(),和equal_range(),而list提供了remove()、remove_if()、unique()、sort()、merge(),和reverse()。这样做有两个理由。首先,成员函数更快。其次

2003-03-11 09:35:00 1094

原创 Effective STL: Item 21:永远让比较函数对相同元素返回false

  Item 21:永远让比较函数对相同元素返回false 让我展示些比较酷的东西。构建一个set,比较类型用的是less_equal,然后insert一个10:set > s;               // s is sorted by “”s.insert(10);                               // insert the value

2003-03-09 23:48:00 1909

原创 Effective STL:Item 16:如何将vector和string的数据传给传统的API函数

 Item 16:如何将vector和string的数据传给传统的API函数因为 C++语言已经于1998年被标准化,C++的中坚分子在试图推动程序员从数组转到vector时就没什么顾虑了。同样的情况也发生于从char *指针转到string对象的过程中。有很好的理由来做这些转变,比如可以消除常见的编程错误(Item 13),和有机会获得STL泛型算法的全部强大能力 (参见,比如,Item

2003-03-07 08:42:00 1623 2

原创 CUJ : Sutter's Mill : Befriending Templates

让模板成为友元作者:Herb Sutter出处:CUJ:Sutter’s Mill--------------------------------------------------------------------------------假设我们有一个函数模板,对它所操作的对象执行SomethingPrivate()。 特别地,考虑一下boost::checked_delete() 函

2003-03-05 09:06:00 1517

原创 Loki库读解-为TypeList添足:最远基类、最近基类、类型的排序

相对于TypeList源码,下面代码还是很简单的,就不多说废话了。#ifndef TYPELIST_ADD_H#define TYPELIST_ADD_H//-------------------------------------------------------------------------------//Loki库自己的SUPERSUBCLASS_STRICT在DevCpp下

2003-03-01 13:29:00 1243

提示
确定要删除当前文章?
取消 删除