C++
文章平均质量分 50
Pop_Rain
这个作者很懒,什么都没留下…
展开
-
c++基础知识点
title: c++基础知识点date: 2018-07-16 15:07:29updated: 2020-03-24 13:13:29categories: c++1.局部变量初始化当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。2.宏与const对比const 相比 #define 的优点:const 常量有数据类型,而 #define 没有,编译器可以对前者...原创 2020-03-24 13:32:34 · 821 阅读 · 0 评论 -
c++中string的split函数实现
title: c++中string的split函数实现date: 2018-07-16 15:07:29updated: 2020-03-24 13:10:24categories: c++c++中string的split函数实现//c++标准库中的string是没有split函数的,想用的时候自己实现一个vector<string> split(string str,...原创 2020-03-24 13:11:12 · 660 阅读 · 0 评论 -
c++中string_int互转
title: c++中string_int互转date: 2018-07-11 16:50:45updated: 2020-03-24 13:09:02categories: c++#一、int转string1.c++11标准增加了全局函数std::to_string:string to_string (int val);string to_string (long val);...原创 2020-03-24 13:10:10 · 204 阅读 · 0 评论 -
单链表的c++实现
title: 单链表的c++实现date: 2018-03-21 15:33:14categories: leetcode与算法tags:- 链表- 单链表这个一篇单链表的c++实现小练习 #include<iostream> using namespace std; /** * 单链表的c++实现 */ struct node { ...原创 2020-03-17 13:48:16 · 249 阅读 · 0 评论 -
异常(try-catch-finally)
程序的异常处理原创 2017-04-14 21:02:21 · 491 阅读 · 0 评论 -
C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyprint?int a = 100; int b = a; int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面转载 2017-04-06 14:06:22 · 351 阅读 · 0 评论 -
C++语言学习路线
转载自:http://blog.csdn.net/lwbeyond/article/details/49669117C++ 虽然内容比较多,但是细分下来,可有几大部分组成,每一部分侧重点不同,我在学习过程中按这几大块来理解,发现很有效率,故总结如下。一、基本语言C/C++ 声明与定义C++类型转换C 指针精要二、面向过程的编程函数返回值问题函数内转载 2017-04-06 13:00:30 · 335 阅读 · 0 评论 -
编译预处理
编译器在对源程序进行编译之前,首先要由编译预处理程序对程序文件进行预处理,这个过程称为编译预处理。下面介绍几种最常用的预编译指令:原创 2017-04-19 09:36:57 · 381 阅读 · 0 评论 -
引用(变量的别名)
引用的本质,就是变量的别名。通俗地讲就是变量的绰号,任何对变量引用的操作都相当于操作变量本身。如下:# include using namespace std;int main(){ int val = 1; int& p = val; //p是val的别名 cout<<p<<" "<<val<<endl; //输出1 1原创 2017-04-14 19:30:20 · 3613 阅读 · 0 评论 -
指针在函数中的应用
指针在函数中的应用:1. 指针作为函数参数。函数之间参数的传递要对数据进行拷贝,而利用指针作为函数参数传递数据的本质,就是在主调函数和被调函数中,通过指向同一内存地址的不同指针(函数传值时拷贝了一个指针)访问相同的内存区域,从而实现数据的传递和交换。如下:# include using namespace std;//指针在函数中的应用,这里是作为函数的参数 void g原创 2017-04-14 13:35:34 · 1378 阅读 · 0 评论 -
指向指针的指针
普通指针指向的是一个具体的数据,而指针的指针所指向的是一个指针。如下:# include using namespace std;int main(){ int a = 2; int* p = &a; //普通指针,指向一个具体数据 int** pp = &p; //指针的指针,指向一个指针 cout<<a<<endl<<p<<endl<<pp<<endl; retur原创 2017-04-14 13:08:38 · 398 阅读 · 0 评论 -
作用域与可见性、extern
作用域:C++中按照作用区域的大小,可以把作用域分为局部作用域和全局作用域可见性:可见性是从另外一个角度(标识符引用)来看作用域的。换句话说,标识符只在作用域内可见1. 局部作用域#include using namespace std;//作用域与可见性 int getNum(void){ int num = 0; { cout<<num<<endl; //上下原创 2017-04-18 13:43:58 · 851 阅读 · 0 评论 -
宏、typedef、const
宏#define宏的本质:替换而已。eg. #define PI 3.1415宏与const在定义常量时的区别:前者只是把常量替换到源文件中,因此编译调试时会出现具体的数字而宏的名称不会出现在符号表中容易给调试带来麻烦;而后者不会有此问题typedeftypedef定义类型的别名。eg. typedef int* p; typedef int (*PFUNC)(in原创 2017-04-19 18:06:55 · 333 阅读 · 0 评论 -
c++中vector的用法详解
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name转载 2017-04-17 14:10:13 · 7281 阅读 · 0 评论 -
关于vector的vector(int)的使用问题
最近写了一题需要使用矩阵来存储树结构,元素只有10W个,但是需要开10W*10W的矩阵来表示关系,明显是开不下的,这里vector>是一个不错的选择,但是在使用的时候回发生一些问题:vector subscript out of range,如下图这里我是直接定义使用,就报错了[cpp] view plain copyprint?vect转载 2017-04-17 22:21:27 · 2539 阅读 · 0 评论 -
读写文件 fstream
# include # include //读写文件的头文件 using namespace std;int main(){ int year, month, day;//定义变量,保存程序中的数据 ifstream fin("date.txt"); //尝试打开文件,并将其连接到输入文件流fin中 if(fin.bad() != true)//成功打开文件 {原创 2017-03-29 15:26:13 · 392 阅读 · 0 评论 -
进阶篇_STL中通用算法处理数据
1. for_each()算法遍历容器元素形象地讲,for_each()算法像一个漏斗装置,用具体的处理方法来做漏斗的漏纸,把容器中指定的元素遍历倒入漏斗,将符合处理方法的容器元素进行处理void addsalary(int& nsalary) //员工工资低于2000的涨30% { if(nsalary < 2000) { nsalary *= 1.3; }}v原创 2017-05-03 16:51:22 · 526 阅读 · 0 评论 -
进阶篇_map容器(保存键值对)
1. 三种向map容器插入数据对的方法(等效)map mapEmployee;Employee emp1;mapEmployee.insert(pair(1, emp1)); //法一插入:使用pair建立员工号1和员工对象emp1的映射关系,并插入map容器中 mapEmployee.insert(map::value_type(1, emp1)); //法二插入:使用value_t原创 2017-05-03 15:44:18 · 3666 阅读 · 0 评论 -
进阶篇_类型打包专家tuple
tuple、get、tie:tuple Human;//Human是新的数据类型Human hujia("jiawei", 23, 56.23);vector vecHuman;cout(hujia)<<endl; //output:jiaweistring name;unsigned int age;double salary;tie(name, age, salary)原创 2017-05-03 15:04:38 · 541 阅读 · 0 评论 -
进阶篇_vector容器
vector与array区别:前者动态变化,后者固定(一年12月,一周7天比较好)array arrmonths;arrmonths[0] = "jan"; //直接类似数组访问 for(array::iterator it; it!=arrmonths.end(); ++it)//迭代器访问vector常用函数原创 2017-05-03 14:59:27 · 388 阅读 · 0 评论 -
进阶篇_STL中的容器
容器就是STL中的瓶瓶罐罐,就是能够保存其他类型的对象的类,是STL的关键部件之一。STL的容器分为:顺序容器和关联容器1.顺序容器STL中包括三种基本的顺序容器:向量(vector)、线性表(list)、双向队列(deque),基于这三种基本顺序容器,又可以构造出一些专门的容器,用于比较特殊的数据结构,包括堆(heap)、栈(stack)、队列(queue)及优先队列2.关联容器原创 2017-04-28 16:18:57 · 515 阅读 · 0 评论 -
vector反转reverse
vector实现反转:reverse(vector.begin(), vector.end());输入一个链表,从尾到头打印链表每个节点的值:#include #include using namespace std;struct ListNode{ int val; struct ListNode* next; ListNode(int原创 2017-04-20 23:19:02 · 24242 阅读 · 1 评论 -
C++ STL之 vector的capacity和size属性区别
vector中这两个属性很容易弄混淆。size是当前vector容器真实占用的大小,也就是容器当前拥有多少个容器。capacity是指在发生realloc前能允许的最大元素数,即预分配的内存空间。当然,这两个属性分别对应两个方法:resize()和reserve()。使用resize(),容器内的对象内存空间是真正存在的。使用reserve()仅仅只是修改了ca转载 2017-04-20 16:40:42 · 471 阅读 · 0 评论 -
构造函数与析构函数
分别用来处理对象的创建和销毁原创 2017-04-05 15:35:08 · 314 阅读 · 0 评论 -
new一个对象后必须delete
new(构造函数)一个对象后必须delete(析构函数)原创 2017-04-05 15:48:42 · 2502 阅读 · 0 评论 -
C++名字空间详解
本质的目的:代码量增加后,不同名字空间内的同名函数、同名变量等可以同时存在,互不冲突作用的结果:在名字空间中声明和定义的内容都属于这个名字空间语法格式:namespace 名字空间名{ //名字空间内的声明和定义 } ;范例:namespace zhangsan //名字空间zhangsan { class Studen原创 2017-04-18 10:33:36 · 556 阅读 · 0 评论 -
函数的默认形参
函数的形式参数可以有默认值,但默认形参一定要放到函数形参表的末尾原创 2017-04-03 18:46:04 · 1041 阅读 · 0 评论 -
实战面向对象_工资管理系统
/* Employee.h文件 */# include using namespace std;class Employee{protected: string m_name; int m_time;public: Employee(string name, int time) //构造函数 : m_name(name), m_time(time) { } st原创 2017-04-11 16:21:49 · 1365 阅读 · 0 评论 -
结构体范例
结构体范例,员工信息输入输出原创 2017-04-01 00:47:54 · 773 阅读 · 0 评论 -
wchar_t类型
wchar_t类型:输入保存中文字符或字符串用法辨析范例 及 string字符串到wchar_t的转换原创 2017-03-31 16:52:24 · 1162 阅读 · 0 评论 -
UML学习入门就这一篇文章
1.1 UML基础知识扫盲UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言。你可能会问:这明明是一种图形,为什么说是语言呢?伟大的汉字还不是从图形(象形文字)开始的吗?语言是包括文字和图形的!其实有很多内容文字是无法表达的,你见过建筑设计图纸吗?里面还不是很多图形,光用文字能表达清楚建筑设计吗?在建筑界,转载 2017-04-09 21:21:39 · 386 阅读 · 0 评论 -
面向对象分析方法
面向对象分析方法:Booch、Coad、OMT、UML原创 2017-04-09 21:13:51 · 554 阅读 · 0 评论 -
多态
虚函数实现多态:基类函数声明前加virtual,派生类即可重新定义该虚函数原创 2017-04-09 18:55:33 · 235 阅读 · 0 评论 -
组合
组合(非继承关系):电脑(由鼠标、键盘等组成),而不是电脑继承鼠标,继承键盘原创 2017-04-09 17:06:54 · 257 阅读 · 0 评论 -
继承
C++继承中,子类继承父类的派生方式有public、protected、private三种;进化方式有保留(父类属性和行为)、改进(重写父类成员函数)、添加(添加子类特有属性行为)三种原创 2017-04-09 14:17:56 · 375 阅读 · 0 评论 -
类成员的访问控制
public、protected、private原创 2017-04-08 14:07:32 · 332 阅读 · 0 评论 -
内联函数(inline)
当函数体本身短小且执行时间短,但需要多次调用时,为了避免调用造成的资源浪费,用内联函数(函数声明前加inline)。这时将不再发生函数调用,而是编译时自动将函数体粘贴到main中,以体积换速度。原创 2017-04-03 21:27:24 · 354 阅读 · 0 评论 -
重载函数
函数名相同,参数的类型和个数不同原创 2017-04-03 21:37:55 · 459 阅读 · 0 评论 -
函数设计的基本原则
函数两要素:函数声明与函数定义的原则原创 2017-04-04 13:27:58 · 2888 阅读 · 0 评论 -
类
类(属性+行为):即成员变量+成员函数另附一个范例原创 2017-04-05 13:53:51 · 249 阅读 · 0 评论