C++
kgs0716
嵌入式linux开发
展开
-
C++11四种类型转换方法
【代码】C++11四种类型转换方法。原创 2023-11-03 16:43:56 · 77 阅读 · 0 评论 -
22种设计模式备忘
创建型工厂方法抽象工厂原型模式单例类模式建造者模式结构型代理模式桥接模式组合模式外观模式装饰模式适配器模式享元模式行为型观察者模式备忘录模式中介者模式迭代器模式命令模式责任链模式模板方法访问者模式策略模式状态模式原创 2023-09-20 09:32:38 · 32 阅读 · 0 评论 -
C++11标准库整理
链接https://cplusplus.com/reference/C Librarycassertcctypecerrnocfenvcfloatcinttypesciso646climitsclocalecmathcsetimpcsignalcstdargcstdboolcstddefcstdintcstdiocstdlibcstringctgmathctimecucharcwcharcwctypeContainersarraybitse原创 2023-09-19 17:23:28 · 47 阅读 · 0 评论 -
C++11 lambda
捕获变量lambda表达式可以通过捕获列表捕获一定范围内的变量,主要有以下几种情况:[] 不捕获任何变量[&]捕获外部作用域中所有变量,并作为引用在函数体中使用(按引用捕获)[=]捕获外部作用域中所有变量,并作为副本在函数体重使用(按值捕获)[=,&foo] 按值捕获外部作用域中所有变量,并按引用捕获foo变量[bar] 按值捕获bar变量,同时不捕获其他变量[this] 捕获当前类中的this指针,让表达式拥有和当前类成员函数同样的访问权限。如果已经使用了&或者=原创 2023-09-19 13:37:19 · 28 阅读 · 0 评论 -
c++11 decltype关键字
但事实上这样的写法并不能通过编译。这是因为在编译器读到 decltype(x+y) 时,x 和 y 尚未被定义。这样的代码其实变得很丑陋,因为程序员在使用这个模板函数的时候,必须明确指出返回类型。但事实上我们并不知道 add() 这个函数会做什么样的操作,获得一个什么样的返回类型。在 C++11 中这个问题得到解决。你可能会思考,auto 能不能用于推导函数的返回类型。原创 2023-09-19 11:40:31 · 30 阅读 · 0 评论 -
C++11 final 关键字
如果不希望某个类被继承,或不希望某个虚函数被重写,则可以在类名和虚函数后加上 final 关键字,加上 final 关键字后,再被继承或重写,编译器就会报错。因此,一旦一个虚函数被声明为final,则派生类不能再重写它。原创 2023-09-19 11:30:50 · 23 阅读 · 0 评论 -
c++11 override关键字
在main()函数中,我们创建了一个指向Derived类对象的基类指针basePtr,并调用basePtr->print()。由于我们在派生类中使用了override关键字,所以执行的是Derived::print()函数。Base类中有一个虚函数print(),并且在派生类Derived中,我们使用override关键字重写了该函数。在这个例子中,我们定义了一个基类Base和一个派生类Derived,Derived类继承自Base类。转载 2023-09-19 11:23:43 · 59 阅读 · 0 评论 -
C++动态工厂的应用
一般设计模式中,工厂模式都是静态创建,这种静态创建的方式解耦能力较差,不易于后续开发的扩展,因此动态工厂的创建方式尤为重要,下面是具体实现的方法原创 2023-06-27 14:54:19 · 54 阅读 · 0 评论