![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习-原创系列
不懂就问系列
SetDreamer
细节决定你花多少时间
展开
-
C++之string 常用总结
Code:void test_string() { //// string 初始化 string s0;//s0="", null string string s1(5, 'a');//s1="aaaaa" string s2(s1);//s2="aaaaa" char* cStr = "Happy!"; string s3(cStr);//s3="Happy!", C 风格字符串赋值给string,直接赋值 string s4(cStr, 2);//s4="Ha", s(cp,n)原创 2021-06-08 20:52:19 · 494 阅读 · 0 评论 -
C++之vector-list-deque容器相关介绍
1、顺序容器 vector 支持快速随机访问 ,代价:中间插入元素开销大 list 支持快速插入和删除 ,代价:随机访问开销大 deque 双端队列,从两端插入和删除数据都比较快2、容器构造函数C c; 创建一个名为c 的空容器。c 是容器类型名,如vector , T 是元素类型,如int 或string 。适用于所有容器C c(c2}; 创建容器c2原创 2016-09-13 21:45:26 · 329 阅读 · 0 评论 -
C++读写文本数据
1、C++读写二进制文件 /***************************************************************** * \author DreamerZhang * \date 2019.08.27 * \brief 读取二进制文件,数据类型为short * \param fileName-文件名 readD...原创 2017-10-24 14:58:23 · 68531 阅读 · 4 评论 -
C++动态库封装及调用
一直对动态库的封装理解不是很透彻,虽然之前写过一个Demo,不过并没有真正的理解。所以写下来,帮助自己理解下。1、一个程序从源文件编译生成可执行文件的步骤:预编译 --> 编译 --> 汇编 --> 链接(1)预编译,即预处理,主要处理在源代码文件中以“#”开始的预编译指令,如宏展开、处理条件编译指令、处理#include指令等。(2)编译过程就是把预处理完的文件进行一系列词法原创 2017-05-10 11:40:33 · 63927 阅读 · 11 评论 -
delete 和 delete[]
C++ 中我们常用new-delete来分配和释放资源,而new一个对象或者一个对象数组都是允许的。动态创建对象只需要指定其数据类型和数据长度,不必为改对象命名。动态创建完的对象我们应该显示地销毁改对象,释放其占用的内存。由此我们将用到delete 或者delete来销毁对象。关于对象销毁又分为两种情况:一是为基本数据类型分配和释放资源,一是为自定义对象分配和释放资源。int* a =原创 2016-09-12 17:09:46 · 472 阅读 · 0 评论 -
const的用法及其重要性
const的引入其实就是告诉编译器和其它程序员(外部引用者更为合适),该值(变量)应该保持不变。 1、const对象的定义 · const int sunNumer = 10;//常量定义及初始化 const i;//ERROR 2、const 与指针的结合 char str[] = "test"; const char* p = str; //non-co原创 2016-09-11 16:12:33 · 11180 阅读 · 0 评论 -
C++常成员变量、静态变量、常成员函数初始化及定义
1、static定义的静态变量不属于某个具体类对象,它是属于类的的,只能在类的内部声明,在类外定义;即在C++中,static静态成员变量不能在类的内部初始化;2、C++中,const成员变量也不能在类定义处初始化,只能通过构造函数初始化列表进行,并且必须有构造函数。 【const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其con...原创 2019-10-14 23:00:47 · 2531 阅读 · 0 评论 -
C++链表插入删除遍历实现
本文通过C++实现C++单链表相关操作:初始化、插入、删除、打印等操作。#pragma once#include <iostream>//定义节点typedef struct Node { int value; Node* next;};typedef Node* pNode;class CListTest{ public: CListTest()...原创 2019-10-14 22:18:46 · 1849 阅读 · 0 评论 -
C++类所占空间总结
1、一个空类所占字节为1:class Stu2{};2、类所占空间只包含变量,不包括普通函数;3、虚函数占8个字节(64位系统中),因为有指向虚函数的指针;4、类所占字节应满足内存对齐原则;5、静态变量或者静态函数不占类内存空间;原则:C++中,每个类对象的所占用的存储空间,只是该数据部分所占的存储空间,而不包括函数所占的存储空间。同一个类的多个对象共享函数代码。cla...原创 2019-10-08 21:03:34 · 1616 阅读 · 1 评论 -
C++命名空间namespace的使用
C++ 除了使用标准命名空间 using namespace std,还可以使用自己命名的空间,其目的主要是限制变量或者函数的使用范围。在实际开发中,有时多个人难免会命名相同的函数名字,为了明确该函数使用范围,引进命名空间。其特性主要如下:1-命名空间将全局作用域分成不同的部分, 2-不同命名空间中的标识符可以同名而不会发生冲突 3-命名空间可以发生嵌套 4-全局作用域...原创 2019-10-08 20:41:02 · 363 阅读 · 0 评论 -
C++之 标准库类型 Vector和String
本文对于标准库类型string和vector的基本操作学习,比较简单,,, KEY:行字符串的获取,string::size_type的使用,vector元素的插入,迭代器的使用测试代码:#include #include #include using std::cin;using std::cout;using std::endl;using std::string;原创 2017-10-11 15:38:45 · 935 阅读 · 0 评论 -
二叉树的前序遍历-中序遍历-后序遍历
1、遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。二叉树的遍历分为:前序遍历、中序遍历、后序遍历。前序遍历:根节点、左子树、右子树中序遍历:左子树、根节点、右子树后序遍历:左子树、右子树、根节点先来看一个原创 2017-09-08 18:55:48 · 1928 阅读 · 0 评论 -
枚举变量的使用和类型声明
1、枚举类型 什么时候会用到枚举类型呢,当一个变量只有限定值可取的时候。枚举,即将变量的值一一列举出来。C语言中,对于枚举元素是按常量处理的,定义时默认值是0 1 2 3.。。。当然,也可以改变枚举变量的值。enum color{red, green,blue};enum color mycolor;mycolor = red;enum color{red=5, gre原创 2017-08-09 19:58:37 · 21979 阅读 · 0 评论 -
C++ 几种常用排序算法讲解
一、冒泡法排序算法,大家用过或者写得最多就是冒泡算法了吧,就是临近的数字两两比较,用两层循环来比较。这样,第一趟(外循环)完后最小或者最大的值就到了最前面,形象点就是小泡泡浮了起来。这个不用多介绍了,直接上代码:void maoPaoSort(int array[]){ for (int i = 0; i < N-1; i++){ for (int j = 0; j < N; j++原创 2017-06-06 20:01:24 · 27303 阅读 · 3 评论