随笔分类 - C++
摘要:贴个C++的运算符优先级表,给大家和自己有个参考吧! Precedence Operator Description Example Associativity 1 () [] -> . :: ++ -- Grouping operator Array access Member access from a pointer Member access from an object Scopi...
阅读全文
摘要:[代码]如上代码,首先如果不在D的继承中,将一个父类(B或C)加上virtual关键字的继承的话,编译会出错,因为在D中会有两条路径继承A的f()函数,会产生冲突。然后D的对象直接调用f()也会出错,会有二义性,解决方法是加上类的修饰符。如D d; d.B::f();d.A::f();
阅读全文
摘要:最近我们在工作中碰到一个奇怪的问题,最后确定是多继承引起的指针漂移,跟C++对象模型有关。示意如下:class A {...};class B{...};class AB : public B, publicA {...}...AB *pab = new AB();A* pa = (A*)pab;B* pb = (B*)pab;这时候你发现pa和pb的值是不一样的!它们中有一个跟pab是相等的,而...
阅读全文
摘要:读GoF的《Design Pattern》的收获还是很大的,虽然我还不能完全理解里面的精髓。其中有一个例子就加深了我对auto_ptr的理解。在这本书中关于代理模式的讲解中提到了关于指针的代理(MyMath类是我自己实现用来演示的,它主要就是实现了一个Show的函数,可以用来打印提示符):[代码]这里的ImagePtr类重载了->, *两个符号,这样我们在使用的时候就可以声明一个栈的变量,但...
阅读全文
摘要:C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法...
阅读全文
摘要:最近在网上找到一个巧妙的运用STL生成的排列组合代码。 感觉很好,记之: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include #include using namespace std; int main()...
阅读全文
摘要:转自以下链接: http://www.11097.com/archives/2009/02/178.html 在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。 编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象 设计做一个历史性的回顾。 而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了 整个IT产业,...
阅读全文

浙公网安备 33010602011771号