![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
小马甲不被占用
这个作者很懒,什么都没留下…
展开
-
C++:指针和自由存储空间
指针初始化int a;int* pt;//声明pt为指向int型(int*)的指针,此时并未对pt进行初始化,指向不明确//*pt = 223323;//错误,此时代码并未将地址赋给ptpt = (int*)0xB8000000//将数字转换为地址pt = &a;使用new分配和delete释放数组在编译时分配内存,通过指针则可以使用new在运行阶段分配未命名的内存以存储值;C语言...原创 2018-03-17 19:59:04 · 319 阅读 · 0 评论 -
C++:迭代器Iterator详解
介绍用处:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间非连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。定义:迭代器是一种检查容器内元素并遍历元素的数据类型,提供了对一个容器中对象的访问方法(每种容器类型都定义了自己的迭代器类型,如vector:vector< int>:: iterator iter;),并且定义了容器中对象的范围。迭...原创 2019-04-09 09:57:18 · 3676 阅读 · 0 评论 -
C++:各个容器中迭代器的用法
迭代器(Iterator)详解见博客:C++:迭代器Iterator详解以下内容转载自https://blog.csdn.net/qq_23100787/article/details/51388163下面列举了些例子说明各个容器的用法:1、Vector#include <iostream>#include <vector>int main(){ s...转载 2019-04-09 09:56:52 · 896 阅读 · 0 评论 -
C++:模板详解(函数模板+类模板)
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。可以使用模板来定义函数和类,函数模板template <class type> re...转载 2019-04-08 15:17:48 · 399 阅读 · 0 评论 -
C++:异常处理基本语法——throw和 try...catch
转载于http://c.biancheng.net/view/422.htmlC++ 通过 throw 语句和 try…catch 语句实现对异常的处理。throw 语句的语法如下:throw 表达式;该语句拋出一个异常。异常是一个表达式,其值的类型可以是基本类型,也可以是类。try…catch 语句的语法如下:try { try块}catch(异常类型) { “...转载 2019-04-08 14:38:37 · 1048 阅读 · 1 评论 -
C++:标准错误流Cerr
大家平时用到的输出有三个:cout、cerr、clog。cout:写到标准输出的ostream对象;cerr:输出到标准错误的ostream对象,通常用来输出警告和错误信息给程序的使用者;clog:也是输出标准错误流(和cerr是一样的),用于产生程序执行的一般信息,很少用到。区别cout经过缓冲后输出,默认情况下是显示器。这是一个被缓冲的输出,是标准输出;它在内存中对应开辟了一个...原创 2019-04-08 14:37:51 · 10773 阅读 · 0 评论 -
C++:重定向输入输出freopen
重定向输入输出可以把原本只是输出在控制台的字符,输出到你指定的路径文件中(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入)重定向函数可以在任何时候开启、关闭。函数名:freopen以指定模式重新指定到另一个文件。模式用于指定新文件的访问方式。...原创 2019-04-08 14:37:13 · 624 阅读 · 0 评论 -
C++:容器类Vector——动态数组
动态数组#include <iostream>int main() { // 1. initialize vector<int> v0; vector<int> v1(5, 0); // 2. make a copy vector<int> v2(v1.begin(), v1.end()); ve...原创 2019-04-07 11:01:11 · 966 阅读 · 0 评论 -
C++:标准模板库STL
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数(提供了一组表示容器、迭代器、函数对象和算法的模板),这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。容器:一个与数组类似的单元,可以存储若干值。STL容器是同质的,即存储的值的类型相同。用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、...原创 2019-04-07 11:00:32 · 179 阅读 · 0 评论 -
C++:自动存储、静态存储和动态存储
自动存储函数内部定义的变量静态存储整个程序执行期间都存在的变量,分为两种,一种是函数外部定义的变量,另一种是static动态存储使用new和delete运算符操作的内存,更具有灵活性。...原创 2019-03-26 16:30:34 · 511 阅读 · 0 评论 -
C++:堆、栈和内存泄露
自动存储、静态存储和动态存储的区别栈自动存储的变量通常存储在栈中,后进先出。堆使用new创建的内存空间通常被称为自由存储空间或堆,管理了一个内存池,该内存池与用于静态变量和自动变量的内存是分开的。内存泄露如果使用new运算符在自由存储空间(或堆)上创建变量后,没有调用delete,将会发生什么情况?如果没有调用delete,则即使指向该内存的指针由于生命周期的原因被释放,...原创 2019-03-26 16:26:51 · 417 阅读 · 0 评论 -
C++:模板类vector和array(C++11)
Vector模板类vector类似于string类,是一种动态数组(存储在自由存储区),可随意添加或插入数据。基本上,它是使用new创建动态数组的替代品,实际上,vector内部确实是使用new和delete来管理内存。需包含vector头文件需使用std命名空间#include<vector>using namespace std;vector<int&...原创 2019-03-26 16:14:41 · 453 阅读 · 0 评论 -
C++预备知识
泛型编程:为不同类型的数据创建可实现同一种功能的函数。Typedef??IDE:集成开发环境,包含用于创建项目的菜单选项(VS),提供对项目进行编辑、编译、链接、项目管理调试等功能的环境。UNIX编译链接:CC a.C→a.o→a.out。Linux编译链接:g++ a.C→a.o→a.out。链接:将代码和库代码结合起来。DLL:动态链接库。...原创 2019-05-11 15:40:32 · 207 阅读 · 0 评论 -
C++:外部变量和静态变量
外部变量的定义和声明是不同的。外部变量的定义只能有一次,它的位置在所有函数之外,而统一文件中的外部变量的声明可以有多次,它的位置可以在函数之内,也可以在函数之外。 系统根据外部变量的定义,而不是声明,分配存储单元。对外部变量的初始化,只能在定义时进行,而不能在声明中进行。关于全局变量(作用域在全局,可跨.cpp)在x.h中定义一个结构体类型mem_data,将其包含在1.cpp中,则可在1.cp...原创 2018-03-21 19:38:06 · 2250 阅读 · 0 评论 -
C++:打印数据并输出到txt
1234567891011121314151617#if ZBD#include <iostream>#include <fstream>using namespace std;#endif char filename[] = "pixel.txt";//验证所取Y像素值是否正确ofstream fout;fout.open("pixel.txt",ios::app);fo...原创 2018-03-21 18:55:50 · 7400 阅读 · 0 评论 -
C++:高精度运行时间测量
1、常规测量#include <ctime>//需包含的头文件long ibegin = 0;double iend = 0.0;ibegin = clock();//运行代码块iend += (double)(clock() - ibegin) / CLOCKS_PER_SEC;//运行时间cout << "iend:" << iend ...原创 2019-04-14 09:38:56 · 1543 阅读 · 0 评论