随笔分类 -  C/C++

摘要:智能指针的循环引用 class Node { public: shared_ptr<Node> left; shared_ptr<Node> right; Node(int v) { this->value = v; cout << "Constructor" << endl; } ~Node() 阅读全文
posted @ 2020-06-23 12:17 尚修能的技术博客 阅读(2275) 评论(1) 推荐(0) 编辑
摘要:memcpy的用法 在项目中经常用到 来实现内存的拷贝工作,如下代码片段 的函数原型为: memcpy函数的功能是从源内存地址的起始位置开始拷贝若干个 字节 到目标内存地址中,即从源source中拷贝num个 字节 到目标destin中。 示例代码 int main() { vector vec; 阅读全文
posted @ 2019-10-31 21:46 尚修能的技术博客 阅读(7000) 评论(0) 推荐(0) 编辑
摘要:1 C++中使用vector来表示二维数组 声明一个二维数组: 将变量dp初始化为一个含有row个元素的vector对象,其中每个元素又都是含有col个元素的vector对象。内部的vector对象的基类型为int,外部vector对象的基类型为 vector。 获取数组的row和col 2 自己动 阅读全文
posted @ 2019-10-10 23:22 尚修能的技术博客 阅读(1684) 评论(0) 推荐(0) 编辑
摘要:今天在使用VS2017写程序时,报错: 出错的代码如下: include "pch.h" include include using namespace std; class TA { public: TA(int &i) :m_i(i) {}; ~TA(); //TA(const TA& ta); 阅读全文
posted @ 2019-09-18 20:02 尚修能的技术博客 阅读(5255) 评论(0) 推荐(0) 编辑
摘要:C++ STL中,哈希表对应的容器是 unordered_map(since C++ 11)。根据 C++ 11 标准的推荐,用 unordered_map 代替 hash_map。 与Map的区别 STL中,map 对应的数据结构是 红黑树 。红黑树是一种近似于平衡的二叉查找树,里面的数据是有序的 阅读全文
posted @ 2019-09-12 09:54 尚修能的技术博客 阅读(619) 评论(0) 推荐(0) 编辑
摘要:Map的常见函数 Map的实现机制 STL中的Map底层实现机制是RB树(红 黑树) 阅读全文
posted @ 2019-09-12 09:54 尚修能的技术博客 阅读(143) 评论(0) 推荐(0) 编辑
摘要:开发环境: Qt Creator 4.8.2 在写程序的时候,遇到了编译器报错 出错的代码部分如下: 根据提示,修改代码如下后,编译器错误消失 经过排查,终于发现了这个错误的原因,首先定义了一个抽象类及其子类 然后又定义了一个类 注意看可以发现,新定义的类名为ConcreteIterator,而Ag 阅读全文
posted @ 2019-07-10 20:09 尚修能的技术博客 阅读(5228) 评论(0) 推荐(2) 编辑
摘要:一 出错误的代码 开发环境: visual studio 2017 社区版 编译上述代码,VS2017提示错误 一开始这个错误让我百思不得其解,因此将同样的代码放到Linux下编译调试。g++提示的错误如下: 二 错误的解决 经过排查发现,错误出现在下面这两行代码 其中HRDepartment类和F 阅读全文
posted @ 2019-07-06 11:11 尚修能的技术博客 阅读(199) 评论(0) 推荐(0) 编辑
摘要:在看《Essential C++》的时候,碰到一句话,不是很明白,今天在看《程序员面试宝典》的时候,又看到了这个问题,记录下来。 《Essential C++》中写到 看下面的代码 上面代码在运行时,由于在生成CChlid对象c时,实际上在调用CChild类的构造函数之前必须首先调用其基类CBase 阅读全文
posted @ 2019-06-27 08:57 尚修能的技术博客 阅读(342) 评论(0) 推荐(0) 编辑
摘要:STL容器所提供的都是值(value)寓意,而非引用(reference)寓意,也就是说当我们给容器中插入元素的时候容器内部实施了拷贝动作,将我们要插入的元素再另行拷贝一份放入到容器中,而不是将原数据元素直接放进容器中,也就说我们提供的元素必须能够被拷贝 . 看下面的代码: 这个程序在退出的时候会出 阅读全文
posted @ 2019-06-26 09:51 尚修能的技术博客 阅读(803) 评论(0) 推荐(0) 编辑
摘要:先看代码 其参数为引用,不能对右值取引用,也就是说 这行代码是错误的。 解决办法:重载PushBack()函数 另: 在VS2017开发环境中,将PushBack()的函数实现如下 这样在使用PushBack()时,编译不会报错 但在Linux下,gcc版本为4.4.6,即便是写为 编译器仍旧会报错 阅读全文
posted @ 2019-06-19 15:13 尚修能的技术博客 阅读(235) 评论(0) 推荐(0) 编辑
摘要:开发环境:VS2017 出错的代码如下: include "pch.h" include "MyArr.hpp" include include using namespace std; int main() { MyArray arr(); std::cout include using name 阅读全文
posted @ 2019-06-19 08:36 尚修能的技术博客 阅读(1297) 评论(0) 推荐(0) 编辑
摘要:开发环境 VS2017 代码如下: 报错如下: 经过查找发现,.cpp文件中函数名最后的分号没有去掉 阅读全文
posted @ 2019-06-12 10:40 尚修能的技术博客 阅读(3809) 评论(0) 推荐(0) 编辑
摘要:开发环境 Qt Creator 4.8.2 编译器 MinGw 32 bit 在类中定义了一个static data member 当编译程序时,报错 error: undefined reference to `Triangular::_elems' //以下放在程序代码文件中 vector Tr 阅读全文
posted @ 2019-06-10 10:46 尚修能的技术博客 阅读(820) 评论(0) 推荐(1) 编辑
摘要:开发环境 Qt Creator 4.8.2 编译器版本 MinGw 32 bit const_cast 用法: 说明: 常量指针被转化成非常量指针,并且仍然指向原来的对象;常量引用被转换成非常量引用,并且仍然指向原来的对象;常量对象被转换成非常量对象。 如下代码在Qt开发环境中报错 将代码修改后如下 阅读全文
posted @ 2019-06-09 09:30 尚修能的技术博客 阅读(1428) 评论(0) 推荐(0) 编辑
摘要:语法: 表达式1 ? 表达式2 : 表达式3; 等价于 阅读全文
posted @ 2019-04-13 17:24 尚修能的技术博客 阅读(847) 评论(0) 推荐(0) 编辑
摘要:可对矢量执行的操作  所有的STL容器都提供了一些基本方法,其中包括size() 返回容器中元素数目,swap() 交换两个容器的内容,begin() 返回一个指向容器中第一个元素的 迭代器 ,end() 返回一个表示超过容器尾的 迭代器 。 什么是迭代器?  迭代器是一个 广义 阅读全文
posted @ 2018-10-16 21:46 尚修能的技术博客 阅读(228) 评论(0) 推荐(0) 编辑
摘要:1 多态产生的背景  希望同一个方法在派生类和基类中的行为是不同的,换句话来说,方法的行为取决于调用该方法的对象。 2 解决多态的两种方法  1)在派生类中重新定义基类的方法  2)使用虚方法 3 虚函数的定义  拥有 Virtual 关键字的函数称之为虚函数 阅读全文
posted @ 2018-10-12 22:32 尚修能的技术博客 阅读(243) 评论(0) 推荐(0) 编辑
摘要:多个参数时: 特殊情况 这时编译器就会报错 阅读全文
posted @ 2018-04-19 22:05 尚修能的技术博客 阅读(353) 评论(0) 推荐(0) 编辑
摘要:转载自https://blog.csdn.net/newcong0123/article/details/52725595 在C语言中static的作用如下 第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、stati 阅读全文
posted @ 2018-04-17 21:08 尚修能的技术博客 阅读(19491) 评论(0) 推荐(0) 编辑

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