随笔分类 -  C++

C++知识记录
摘要:std::enable_shared_from_this 能让一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt 管理)安全地生成其他额外的 std::shared_ptr 实例(假设名为 pt1, pt2, ... ) ,它们与 pt 共享对象 t 的所有权。 若一 阅读全文
posted @ 2019-05-12 09:59 PKICA 阅读(361) 评论(0) 推荐(0) 编辑
摘要:/*! * Email: guxuanqing@gmail.com * Auth: xor * Date: 2019-5-17 * File: vectorPtr.cpp * Class: %{Cpp:License:ClassName} (if applicable) * Brief: * Not 阅读全文
posted @ 2019-04-09 22:01 PKICA 阅读(270) 评论(0) 推荐(0) 编辑
摘要:function与bind /** @file funcLambdaBind.cpp * @note * @brief * @author that * @date 2019-7-3 * @note * @history * @warning */ #include <iostream> using 阅读全文
posted @ 2019-03-31 17:30 PKICA 阅读(608) 评论(0) 推荐(0) 编辑
摘要:在C++中CV指const和volatile— 1、非成员函数不能有CV限定,友元函数不是类的成员函数声明友元函数不能用const限定。 friend voin fun(classname &ref)const;//编译器会给错误error: non-member function ‘xxxxxxx 阅读全文
posted @ 2018-06-28 10:10 PKICA 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:DP书上的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其中有一个词很重要,那就是拷贝。可以说,拷贝是原型模式的精髓所在。举个现实中的例子来介绍原型模式。找工作的时候,我们需要准备简历。假设没有打印设备,因此需手写简历,这些简历的内容都是一样的。这样有个缺陷,如果要修改简历 阅读全文
posted @ 2017-11-22 20:16 PKICA 阅读(445) 评论(0) 推荐(0) 编辑
摘要:外观模式应该是用的很多的一种模式,特别是当一个系统很复杂时,系统提供给客户的是一个简单的对外接口,而把里面复杂的结构都封装了起来。客户只需使用这些简单接口就能使用这个系统,而不需要关注内部复杂的结构。DP一书的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这 阅读全文
posted @ 2017-11-22 19:31 PKICA 阅读(348) 评论(0) 推荐(0) 编辑
摘要:主要根据代理模式整理,感谢作者分享! [DP]上的定义:为其他对象提供一种代理以控制对这个对象的访问。有四种常用的情况:(1)远程代理,(2)虚代理,(3)保护代理,(4)智能引用。本文主要介绍虚代理和智能引用两种情况。 考虑一个可以在文档中嵌入图形对象的文档编辑器。有些图形对象的创建开销很大。但是 阅读全文
posted @ 2017-11-22 18:58 PKICA 阅读(535) 评论(0) 推荐(0) 编辑
摘要:可以简记为pointer to implement:”指向实现的指针”。 [DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了 阅读全文
posted @ 2017-11-20 19:48 PKICA 阅读(542) 评论(0) 推荐(0) 编辑
摘要:希望想理解C++委托的同学,能够从代码中悟出其中的原理。有什么不太清楚的地方,欢迎留言交流。 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define debug(x) cout << #x << " at line " << __L 阅读全文
posted @ 2017-11-06 15:53 PKICA 阅读(1071) 评论(1) 推荐(1) 编辑
摘要:原文:如何使用指向类的成员函数的指针(详解!) 另外一篇英文参考:Member Function Pointers and the Fastest Possible C++ Delegates 我们首先复习一下"指向函数的指针"如何使用? [cpp] view plain copy print? v 阅读全文
posted @ 2017-11-06 09:48 PKICA 阅读(935) 评论(0) 推荐(0) 编辑
摘要:原文 1. this指针的用处:一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。 也就是说,即使你没有写上this指针,编译器在编译的 阅读全文
posted @ 2017-10-31 14:43 PKICA 阅读(312) 评论(0) 推荐(0) 编辑
摘要:动态数组初始化: 对于内置数据类型元素的数组,必须使用()来显示指定程序执行初始化操作,否则程序不执行初始化操作:int *pia = new int[10]; // 每个元素都没有初始化int *pia2 = new int[10] (); // 每个元素初始化为0类类型元素的数组,则无论是否使用 阅读全文
posted @ 2017-09-25 14:19 PKICA 阅读(23308) 评论(0) 推荐(1) 编辑
摘要:安装: 生成静态库 1 生成静态库: 2 第一步:生成目标文件: 3 g++ -g -Wall -c json_reader.cpp json_value.cpp json_writer.cpp -I. -I../../include -lpthread 4 5 会生成三个*.o文件 6 json_ 阅读全文
posted @ 2017-09-13 08:59 PKICA 阅读(2314) 评论(0) 推荐(1) 编辑
摘要:设计模式的一些基本原则: 设计模式的六大原则(开闭原则、里氏代换原则、依赖倒转原则、单一职责原则、接口隔离原则、迪米特法则) 单一职责原则 一个类只有一个职责,不应既做这又做那,这样的好处是: 降低了类的复杂性 提高了代码的可读性,可维护性 降低了因变更带来的风险 里氏替换原则 一个子类必须实现父类 阅读全文
posted @ 2017-08-01 23:10 PKICA 阅读(74) 评论(0) 推荐(0) 编辑
摘要:1. 即使libmysqlcppconn.so.7和与之相关存在,也报这个错误。 解决方法:临时添加LD_LIBRARY_PATH, 假使 libmysqlcppconn.so在/usr/local/lib目录下。 exportLDLIBRARYPATH=LD_LIBRARY_PATH:/ 阅读全文
posted @ 2017-07-29 16:29 PKICA 阅读(977) 评论(0) 推荐(0) 编辑
摘要:C++11:C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto、decltype,和模板的大量改进。 新的关键字 auto C++11中引入auto第一种作用是为了自动类型推导 auto的自动类型推导,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推导,可以 阅读全文
posted @ 2017-04-14 11:09 PKICA 阅读(65753) 评论(9) 推荐(6) 编辑
摘要:C++ constexpr类型说明符 const 和 constexpr 变量之间的主要区别在于:const 变量的初始化可以延迟到运行时,而 constexpr 变量必须在编译时进行初始化。所有 constexpr 变量均为常量,因此必须使用常量表达式初始化。 constexpr 函数是在使用需要 阅读全文
posted @ 2017-04-05 21:55 PKICA 阅读(4590) 评论(0) 推荐(2) 编辑
摘要:右值引用是解决语义支持提出的 这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长。给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理解C++ 11中这些比较重要的特性。 关于左值和右值的定义 左值和右值 阅读全文
posted @ 2017-03-21 16:05 PKICA 阅读(772) 评论(2) 推荐(0) 编辑
摘要:C++中的空类,编译器默认可以产生哪些成员函数 C++中创建一个空类:class Empty {};默认会生成4个函数,其函数的原型如下: public: Empty() { ... } Empty(const Empty& rhs) { ... } ~Empty() { ... } Empty& 阅读全文
posted @ 2017-03-06 20:29 PKICA 阅读(945) 评论(0) 推荐(0) 编辑
摘要:WHY C++ ? C++ 阅读全文
posted @ 2017-02-26 20:22 PKICA 阅读(169) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示