随笔分类 -  c++

vs2015开发环境
摘要:c++11中引入了3个智能指针类型: std::unique_ptr<T> :独占资源所有权的指针 std::shared_ptr<T> :共享资源所有权的指针 std::weak_ptr<T> : 共享资源的观察者,需要和std::shared_ptr一起使用 std::unique_ptr 当我 阅读全文
posted @ 2022-07-30 17:03 那么强大 阅读(383) 评论(0) 推荐(0)
摘要:在输出窗口位置右键勾选 程序输出 阅读全文
posted @ 2021-07-31 15:54 那么强大 阅读(685) 评论(0) 推荐(0)
摘要:1.c/c++ 常规 调试信息格式 程序数据库 (/Zi) 2.c/c++ 优化 优化配置选禁止(/Od) 3.链接器 调试 生成调试信息 选/DEBUG 阅读全文
posted @ 2021-04-22 19:44 那么强大 阅读(581) 评论(0) 推荐(0)
摘要:1.迭代器遍历vector容器 for (vector<XXX>::iterator it = nums.begin(); it != nums.end(); it++) { (*it)->.... } 2.迭代删除指定元素 for (vector<XXX>::iterator it = nums. 阅读全文
posted @ 2020-12-30 15:06 那么强大 阅读(2336) 评论(0) 推荐(0)
摘要:1.常规:输出目录(OutDir),目标文件名(TargetName),目标文件扩展名(TargetExt),配置类型 输出目录(OutDir):指定输出目录目标文件名(TargetName):指定目标文件名目标文件扩展名(TargetExt):指定目标文件扩展名(根据配置类型有.dll和.exe两 阅读全文
posted @ 2020-12-15 21:37 那么强大 阅读(384) 评论(0) 推荐(0)
摘要:1.包含目录,库目录,附加包含目录,附加库目录,附加依赖项 包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录 库目录:寻找.lib文件的搜索目录 附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录(每一项对应一个文件夹XXXX,文件夹中包含了编译时所 阅读全文
posted @ 2020-12-10 20:24 那么强大 阅读(1339) 评论(0) 推荐(0)
摘要:1.新建一个myadd2工程,空项目 2.项目,属性,配置属性,常规,配置类型,动态库dll 3.新建.h和.cpp文件,头文件声明一个函数,源文件定义对应函数 4.两个文件中函数之前加上 __declspec(dllexport) 原因参考:http://blog.csdn.net/huangyi 阅读全文
posted @ 2020-10-22 19:33 那么强大 阅读(415) 评论(0) 推荐(0)
摘要:vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述。 deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加。如果采用vector,则头端移除时,会 阅读全文
posted @ 2020-10-21 15:31 那么强大 阅读(82) 评论(0) 推荐(0)
摘要:本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型: 数据类型 描述 ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型表示输入文件流,用于从文件中读取信息。 fstream 阅读全文
posted @ 2020-10-20 09:39 那么强大 阅读(147) 评论(0) 推荐(0)
摘要:接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的,如下所示: class 阅读全文
posted @ 2020-10-19 20:23 那么强大 阅读(405) 评论(0) 推荐(0)
摘要:子类为完成基类初始化,在C++11之前,需要在初始化列表调用基类的构造函数,从而完成构造函数的传递。如果基类拥有多个构造函数,那么子类也需要实现多个与基类构造函数对应的构造函数。 class Base { public: Base(int va) : m_value(va), m_c(‘0’) {} 阅读全文
posted @ 2020-10-19 19:50 那么强大 阅读(5313) 评论(1) 推荐(1)
摘要:多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。 C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 实例: #include <iostream> using namespace std; class Shape { pro 阅读全文
posted @ 2020-10-19 16:58 那么强大 阅读(132) 评论(0) 推荐(0)
摘要:C++ 重载运算符和重载函数 C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数 阅读全文
posted @ 2020-10-17 17:53 那么强大 阅读(176) 评论(0) 推荐(0)
摘要:面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建 阅读全文
posted @ 2020-10-17 15:51 那么强大 阅读(180) 评论(0) 推荐(0)
摘要:1.类成员函数 class Box { public: double length; // 长度 double breadth; // 宽度 double height; // 高度 double getVolume(void);// 返回体积 };//类的成员函数 double Box::getV 阅读全文
posted @ 2020-10-17 14:26 那么强大 阅读(203) 评论(0) 推荐(0)
摘要:依次找到 工具 >代码片段管理器 >语言选择(自己的开发语言) >点击导入.snippet文件 //文件一 #1.snippet <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft. 阅读全文
posted @ 2020-10-16 16:01 那么强大 阅读(503) 评论(0) 推荐(0)
摘要:1.引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用。引用必须连接到一块合法的内存 一旦引用被初始化为一个对象,就不能被指向另一个对象。指针可以在任何时候指向另一个对象。 引用必须在创建时被初始化。指针可以在任何时间被初始化。 #include <iostream> using nam 阅读全文
posted @ 2020-10-15 16:22 那么强大 阅读(487) 评论(0) 推荐(0)
摘要:输入输出: 1.getchar() & putchar() 函数 int getchar(void) 函数从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。 int putchar(int c) 函数 阅读全文
posted @ 2020-10-15 10:38 那么强大 阅读(549) 评论(0) 推荐(0)
摘要:函数指针(指向函数的指针) 一个函数在编译之后,会占据一部分内存,而它的函数名,就是这段函数的首地址。 可以把一个指针声明成为一个指向函数的指针。 C 语言规定函数名会被转换为指向这个函数的指针,除非这个函数名作为 & 操作符或 sizeof 操作符的操作数(注意:函数名用于 sizeof 的操作数 阅读全文
posted @ 2020-10-14 17:42 那么强大 阅读(447) 评论(0) 推荐(0)
摘要:概念: 在如下的A指向B、B指向C的指向关系中: 首先,C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008。 B是一个指针变量,其中存放着C的地址,但是B也要占空间的啊,所以B也有地址,B的起始地址是0x000000 阅读全文
posted @ 2020-10-14 14:42 那么强大 阅读(558) 评论(0) 推荐(0)