C/C++
文章平均质量分 57
purewinter
这个作者很懒,什么都没留下…
展开
-
在C++实现C#中的属性(Property)功能的尝试: MACRO篇(1)
看了C++ templates一书以后,想用C++模拟实现C#中的属性功能。即对象的某个值可以当成public成员变量一样使用,但实际上值的获取和更改是经过对应获取和设置器(get和set函数)来进行的。当然,原本是想用template来实现,当实现中遇到很多很多问题,目前先用C++的宏来实现了基本功能。注:在本文中,不考虑对属性进行任何指针类操作,包括对属性进行取址(&操作符)、求值(*操作符)原创 2007-08-29 22:55:00 · 1349 阅读 · 0 评论 -
C++ template笔记若干
1.调用函数模板时,可以通过编译器进行实参演绎(/deduction/推导)而不必显式指定实参类型。但是必须严格匹配。 *:在非引用类型参数中,数组类型将会decay成对应指针类型,而引用类型则不会。 即引用类型参数中,"hi"和"abc"是不同的类型(const char[3]和const char[4])。解决这个问题可以改用非引用类型,不过最好是针对需要用的数组类型进行特化。2。类模板参数可原创 2007-08-29 20:02:00 · 2460 阅读 · 0 评论 -
永久改变你写异常安全代码的方式(神奇的Loki::ScopeGuard)
作者:Andrei Alexandrescu and Petru Marginean原文地址:http://www.ddj.com/cpp/184403758翻译,裁剪,修改:purewinter注:裁剪修改只是为了让更多csdn上的读者不会因为此文太长而放弃阅读。。。注2:Loki::ScopeGuard不仅对通常意义的异常有用,对于所有可以使用RAII的地方均有用。包括new翻译 2007-11-01 11:32:00 · 2772 阅读 · 1 评论 -
智能指针的标准之争:Boost vs. Loki(转载)
撰文/马维达 原文发表时间未知。 tr1使用了boost::shared_ptr,是否还使用了scoped_ptr? 若有人知道C++0x(将要)采用的智能指针方案(或变动),望告知。********************************************************************************* 2001 年转载 2007-10-15 14:33:00 · 1340 阅读 · 0 评论 -
Effective STL 笔记若干-有关STL使用需要注意的方面
如何删除元素: 去除一个容器中有特定值的所有对象: 如果容器是vector、string或deque,使用erase-remove惯用法。 c.erase(remove(c.begin(), c.end(), 1963),c.end()); //删除所有1963 如果容器是list,使用list::re原创 2007-11-11 13:52:00 · 1276 阅读 · 0 评论