c/c++
文章平均质量分 84
ba_jie
这个作者很懒,什么都没留下…
展开
-
set_unexpected
<br />● 函数的声明<br />unexpected_handler set_unexpected (unexpected_handler f) throw();<br />设置新的,返回旧的<br /><br />● 说明<br />所谓的unexpected_handler,指的是函数。<br />如果某个函数出现异常,而该异常未被列到异常列表,则unexpected_handler被系统自动调用。<br /><br />该函数可以调用 terminate 或者 cstdl转载 2011-05-28 18:07:00 · 5411 阅读 · 2 评论 -
内存管理器
在stdafx.h里放入如下声明:#if defined(USE_MEM_MANAGER)# define NEW new((__FILE__), (__LINE__))# define DELETE delete void* operator new(size_t size, const char* file, int line); void* operator new[](size_t size, const char* file, int line); void operator原创 2011-04-25 13:39:00 · 716 阅读 · 0 评论 -
stack unwinding
当抛出异常,程序的控制权由try block交给catch block时,C++ runtime自动调用try block里的所有auto和register对象的dtor函数,这个过程叫stack unwinding。1> static和extern对象不调用dtor。2> dtor的调用顺序和ctor的调用顺序相反。3> 在构造对象时如果抛出了异常,对于其内部的子对象、或者数组,只有正确执行了ctor的才会调用dtor来析构。4> 在析构对象时如果抛出了异常,且该异常未被处理,程序将调用ter转载 2011-04-25 13:47:00 · 895 阅读 · 0 评论 -
写C++程序绕过IE的限制:“某些设置由系统管理员进行管理”
公司的电脑,其IE代理都是由“系统管理员”进行统一设置的:Auto Config URL。打开我的IE10的设置,可以看到如下图样:我修改了注册表,却发现其实它并未真正生效。我平时应用的很多软件,因为自带设置代理的功能,所以使用并未受影响,通过用cntlm代理,能干很多事情。但是,iTunes这个软件不一样。它只能使用系统设置的代理。我为了能使用iTunes听那些高质量的Podca原创 2015-02-06 14:55:22 · 2458 阅读 · 0 评论 -
野指针的判别 - 学自另一个项目组
公司另一个项目组的同事,昨天做了讲座:一个野指针的处理方案。先看一个典型的野指针:#include #include using namespace std;//===========================================================class Player{ string _name;public: Player(con原创 2016-12-16 18:46:58 · 1174 阅读 · 0 评论 -
C++ Concurrency in Action (by Anthony Williams)
【P.S.】把这本书最重要的章节总结如下。在C++0x中,原子操作的内存时序模型(Memory Ordering for Atomic Operation in C++0x)C++0x提供了三种内存时序模型,用来定义原子操作在同一线程里的关系、不同线程之间的同步:顺序一致型的时序(Sequentially Consistent Ordering)松弛型的时序(Relaxed Ord翻译 2016-12-31 23:21:38 · 743 阅读 · 0 评论 -
VC++2013 conditional breakpoint
原创 2017-01-22 10:50:12 · 331 阅读 · 0 评论 -
6: 理解C#中几个“等价”概念之间的关系
当你创建一个“新类型”(或是class,或是struct)时,你就要同时给它定义相应的“等价”关系(Equality)。C#提供了4个函数,用以判定两个对象是否相等:public static bool ReferenceEquals(object left, object right);public static bool Equals(object left, object righ翻译 2017-09-04 16:44:43 · 461 阅读 · 0 评论 -
[Xcode] shared library 与 static library 的区别
动态库与静态库的区别不止是扩展名而已。看下面两组图片:动态库有链接阶段,还有签名。这和一般的应用程序没区别。静态库没有链接阶段,是用一个独立的工具libtool导出最后的库。动态库和静态库的组成也不一样。看下面两幅图的对比。...原创 2018-07-14 11:08:25 · 6031 阅读 · 0 评论