c++基础知识
Ouyang_Lianjun
只有不断的学习,才会。。。。
展开
-
c++数组的基础知识
数据是一个类似于标准库类型vector的数据结构,定义数组时必须指定数组的类型,同样数组的元素都是具体的对象,因此不存在引用的数组。定义和初始化数组int a[5]; //定义数组是基本形式int a[]={1,2,3}; //可以在定义时,直接初始化int a[5]={1,2,3} //定义时初始化数组,如果指定了数组大小,那么提供初始原创 2016-08-27 06:06:30 · 1241 阅读 · 0 评论 -
c++之this指针详解
1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 例如,调用转载 2016-09-22 15:33:37 · 15064 阅读 · 4 评论 -
标准库类型string
头文件#include<string>using namespace std; //string定义在命名空间std中定义和初始化string对象 string是一个内部定义的类,初始化类对象的方式是通过类内部定义的构造方法决定的。下面列出几个string常用的初始化方式 string s1; //默认的初始化方式,s1是一个空串 string s2(s原创 2016-08-26 11:13:40 · 790 阅读 · 0 评论 -
c++之处理类型
类型别名定义类型别名有两只方法,分别是:使用关键字:typedef (传统方法)使用关键字:using (新标准)typedef char* pstring;const pstring cstr = 0; // cstr 是指向char的常量指针(**const被识别为顶层const**)auto类型说明符c++ 11 新标准引入了auto类型说明符,...原创 2018-08-11 11:56:11 · 461 阅读 · 0 评论 -
c++ 异常处理
try语句块和异常处理c++中,异常处理包括:throw 表达式,异常检测部分使用throw表达式来表示它遇到了无法处理的问题。try语句块。异常处理部分使用try语句块处理异常。 try语句块以关键字try开始, 并以一个或多个catch子句结束。try语句块中代码抛出异常通常会被某个catch子句处理。一套异常类,用于throw表达式和相关的catch子句之间传递异常具体信息...原创 2018-08-15 00:02:07 · 676 阅读 · 0 评论 -
c++ 函数参数传递
指针形参当函数使用指针作为形参时, 本质也是使用传值参数, 只是传递的是变量的地址,所以可以通过指针修改它所指的对象的值, 但是在c++ 中推荐使用引用类型的形参替代指针。传引用参数使用引用传参可以避免拷贝操作, 提搞程序的效率。 尤其是拷贝大的类类型或者容器对象比较低效,或者有的类类型就不支持拷贝操作。引用形参也为我们一次返回多个结果提供了途径。const形参和实参...原创 2018-08-18 13:29:25 · 1103 阅读 · 0 评论 -
c++ 类型转换
算术转换整型提升负责把小的整数类型转换为较大的整数类型。bool、char、sign char、unsigned char、short和unsigned short,如果他们所有可能的值都在int中,那么它们会被提升为int, 否则提升为unsigned int类型。无符号类型的运算对象 1. 如果无符号数类型不小于带符号数, 则带符号数转换为无符号数 2...原创 2018-08-14 00:24:39 · 442 阅读 · 0 评论 -
c++ 函数的返回值
函数返回值不要返回局部对象的引用或者指针引用返回左值,其他返回类型得到右值main函数返回值中,0表示成功,其他表示识别。列表初始化返回值c++ 11新标准规定, 函数可以返回花括号包围的值列表。其实,就是使用列表初始化的方式对表示函数返回的临时变量进行初始化。vector<string> process(){ return {"funca",...原创 2018-08-18 23:52:48 · 7682 阅读 · 0 评论 -
c++ 内联函数和constexper函数
内联函数将函数声明内联函数, 通常是在编译器, 将它在调用点将函数“内联展开”。inline int len(const string& str){ return str.size();}constexpr函数constexpr 函数是指用常量表达式的函数。遵循如下两天规则:函数返回值类型和所有形参都是字面值类型函数体只能有一条retur...原创 2018-08-19 00:28:53 · 2033 阅读 · 0 评论 -
c++的构造函数和析构函数
构造函数的需求 类内部的私有成员和保护成员在外界是不可以被访问的,这也正是类的封装性的体现,所以在要为类的成员变量初始化时,这个任务就落在了类的成员函数。class A{ private: int a; int b; public: void init(int a,int b) { this->a=a;原创 2016-09-22 15:12:30 · 589 阅读 · 0 评论 -
c++数据类型
在定义变量的时候,说明变量的名字和数据类型就是告诉编译器要为变量分配多少内存空间和变量中要存放什么类型的值。c++的数据类型有基本数据类型和非基本数据类型之分。1.基本数据类型 2.非基本数据类型 数组 type [ ] —type表示非空数据类型 指针 type * 空类型 void —当函数不返回任何值的时,使用空类型作为返回值原创 2016-08-21 16:00:35 · 591 阅读 · 0 评论 -
c++的变量
变量提供一个具名的、可提供程序操作的存储空间。对c++程序员来说,“变量”和“对象”一般可以互换使用,(个人的见解就是对象是在类有关的场景下对变量的名称)变量的定义 类型说明符+一个或者多个变量名组成的列表。 变量名使用的规则: 不可以使用c++关键字 第一个字符必须是字母或者下划线 中间不可以有空格 变量名不要和c++中的库函数名、类名、对象名相同 变量只可以使用26个字母和10个数原创 2016-08-22 15:01:09 · 647 阅读 · 0 评论 -
c++ 引用
引用的概念 引用只是一个变量的别名,程序用另外一个变量或者对象的名字去初始化他。从那时候起,引用作为那个变量(对象)的别名而使用,对引用的改动实际就是对目标变量(对象)的改动。 声明一个引用的方式:int num1;int &amp; num2=num1;引用不是值,不占用存储空间,声明引用时,目标存储状态不会改变。这就意味着引用只有声明,没有定义。而且在引用声明时一定要初始化,否则将引发编译错误,并原创 2016-08-23 11:13:49 · 521 阅读 · 0 评论 -
c++指针
指针的概念 指针引用类似,指针也可以实现对其指向的对象进行间接访问。但是指针又和引用有很多不同的地方,其一,指针本身就是一个变量,允许对指针进行赋值和拷贝,而且在指针生命周期内,它可以先后指向不同的变量。其二,指针无须在定义的时候赋初始值。指针存放的是它指向那个变量的地址。定义指针int num;int * num_pointer=&amp;num;定义一个指针的时候需要搞懂四个东西: (1)指针的类原创 2016-08-24 11:24:56 · 566 阅读 · 0 评论 -
c++之const限定符
有时候我们希望定义这样一个变量,它的值不能被改变。为了满足这个要求,可以用const对变量的类型加以限定。 const限定符 (1):因为使用const限定符声明的变量就是常量,是不可以被修改的,所以在声明时必须进行初始化的。 (2):默认情况下,const限定的变量的作用域被设定为文件作用域。但是在某些时候,我们想多个文件共享const变量时,解决办法就是:对于const变量不管是声原创 2016-08-25 16:47:05 · 1701 阅读 · 0 评论 -
c++之结构详解
声明结构的语法 有时候我们需要存储的数据信息由不同的数据类型组成。例如:一个职工的信息包括姓名,职工编号,工资,地址,电话。这时候就需要使用一个叫结构的语法,来存放这些东西。 结构声明是放在所有函数包括主函数之外,位于main函数之前,下面我们就来声明一个存放职工信息的数据结构。#include<iostream>using namespace std;struct Employee /原创 2016-09-05 17:01:19 · 849 阅读 · 1 评论 -
标准库类型vector
标准库类型vector表示对象的集合,其中所有对象的类型都是相同的,其实vector就一个动态数组,你可以随时往你定义vector对象中添加元素,它和动态数组不同的是,它里面还包含很多其他有用的方法。定义和初始化vector对象 (1):头文件:#include<vector>(2):vector是类模板,定义时需要确定vector将要存放的类型 (3):初始化vector对象的方法: 默认原创 2016-08-26 16:45:18 · 866 阅读 · 0 评论 -
c++迭代器介绍
迭代器的简介 (1):迭代器类似于指针类型,它也提供了对对象的间接访问。 (2):指针是c语言中就有的东西,迭代器是c++中才有的,指针用起来灵活高效,迭代器功能更丰富些。 (3):迭代器提供一个对容器对象或者string对象的访问的方法,并且定义了容器范围。使用迭代器 迭代器和指针不一样,容器和string有迭代器类型同时拥有返回迭代器的成员。比如,容器都有的成员begin和end,其中b原创 2016-08-26 21:53:13 · 37095 阅读 · 2 评论 -
c++ 函数指针
函数指针介绍函数指针指向的是函数而非对象, 函数的类型由它的返回类型和形参类型共同决定。int func(int, int); // 函数声明int (*pf)(int, int); // pf是一个函数指针,但是未初始化pf = func; // 对pf进行初始化int res = pf(2, 3); // 像调用函数一...原创 2018-08-19 11:37:02 · 1214 阅读 · 0 评论