C++语言
文章平均质量分 79
leonardWang
这个作者很懒,什么都没留下…
展开
-
C++中构造函数中调用虚函数的问题
在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{C180() {foo();this->foo();}virtual foo() {cout }};struct C190 : public C180{C190() {}virtual foo() {cout }}; 父类中有一个虚函数,并且父类在它的构造函数中调用了转载 2010-07-19 22:23:00 · 933 阅读 · 0 评论 -
C++11 Lambda函数与表示式
http://zh.wikipedia.org/wiki/C%2B%2B11#Lambda.E5.87.BD.E5.BC.8F.E8.88.87.E8.A1.A8.E7.A4.BA.E5.BC.8F在标准 C++,特别是当使用 C++ 标准程序库算法函数诸如 sort 和 find,用户经常希望能够在算法函数调用的附近定义一个临时的述部函数(又称谓词函数,predicate funct转载 2013-03-12 16:54:26 · 11150 阅读 · 0 评论 -
函数调用堆栈变化情况
int goo(int a, int b){ return a + b;}void foo(){ int a[] = {1, 2, 3}; int result = goo(a[1], a[2]); printf("result: %d", result);}原创 2011-07-10 00:44:44 · 7158 阅读 · 0 评论 -
C++0x 右值引用
<br />#include <iostream> #include <algorithm>#include <boost/array.hpp>#include <algorithm>#include <string>#include <vector>using namespace std;struct A{ enum { SIZE = 3 }; A() { cout << "Constructor." << endl; p = n原创 2011-04-27 16:06:00 · 954 阅读 · 0 评论 -
boost C# 正则表达式
<br />字符串:<br />void ABTR("quint32 ab")<br />{<br /> string s = TR("sky is blue.");<br /> obj.foo(TR('rose is red.'));<br /> obj.foo(TR('rose is red."));<br /> obj.foo(TR("Mike (Mike Lee)say /"He is hungury/""))<br />}<br /> <br />正则表达式:(?<!/w)(?:TR/()('|"原创 2010-11-25 19:21:00 · 984 阅读 · 0 评论 -
正则表达式 boost Regex
正则表达式有多种不同的风格。下表是在PCRE中元字符及其在正则表达式上下文中的行为的一个完整列表:字符 描述 / 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“/n”匹配一个换行符。串行“//”匹配“/”而“/(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“/n”或“/r”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multili转载 2010-11-25 16:15:00 · 10375 阅读 · 0 评论 -
正则表达式 匹配
<br />字符串:<br />void ABTR("quint32 ab")<br />{<br /> string s = TR("sky is blue.");<br /> obj.foo(TR('rose is red.'));<br /> obj.foo(TR('rose is red."));<br /> obj.foo(TR("Mike (Mike Lee)say /"He is hungury/""))<br />}<br /> <br />正则表达式:(?<!/w)(?:TR/()('|"原创 2010-11-25 19:18:00 · 1739 阅读 · 0 评论 -
比较java和C++的面向对象语法
<br /> 打开《Java 核心技术》第一卷的第4章:对象和类,第5章:继承,第6章:接口和内部类。洋洋洒洒近150页,几乎集中了Java中面向对象语法的全部。不过凭借我在C++中浸淫这么多年的深厚功力,看起来还是相当轻松的:)这句话无疑是吹牛了,学习C++久了,我想人应该变得越来越谦虚才对。不过我还是提倡在枯燥的学习中多给自己一点自吹自擂的骄傲吧:)<br />简单的封装:<br /> 面向对象最基本的单元就是类,类在本质上仅仅是把数据和方法结合在一起的产物,这种结合带有一定的必然性,说白了这就是转载 2010-12-29 01:12:00 · 2080 阅读 · 0 评论 -
C++中理解“传递参数”和异常之间的差异
从语法上看,在函数里声明参数与在catch子句中声明参数几乎没有什么差别: class Widget { ... }; //一个类,具体是什么类 // 在这里并不重要 void f1(Widget w); // 一些函数,其参数分别为 void f2(Widget& w); // Widget, Widget&,或 void f3(const Widget& w); // Widget* 类型 void f4(Widget *pw); void f5(const Wid转载 2010-10-30 22:31:00 · 886 阅读 · 0 评论 -
C char str[] , char *str 区别
#include #include using namespace std;int main(){ char str1[] = "Hello"; char *str2 = "Hello"; char str3[] = {'H', 'e', 'l', 'l', 'o'}; cout 显示输出:6 5 // 字符数组,"Hello" 存于堆栈上4 5 // “Hello” 存于字符串常量区5 19原创 2010-07-19 21:16:00 · 1467 阅读 · 0 评论 -
c++右值引用 转移构造函数
class MyString {public: friend ostream& operator<<(ostream &out, const MyString &str); MyString(const char *s) { assert(s != NULL); cout << "Constructor" << endl; int sz = strlen(s); str =原创 2013-03-12 17:44:29 · 2957 阅读 · 0 评论