
c++
奥佛儿
这个作者很懒,什么都没留下…
展开
-
C++函数模板和类模板——DAY3
1.c++编译器模板机制剖析编译器编译原理:1.gcc编译器:支持多种语言,多种硬件平台的编译器。通过对带有函数模板的代码进行编译,查看其汇编语言,得到如下结论:1.编译器并不是把函数模板处理成能够处理任意类的函数2.编译器从函数模板通过具体类型产生不同的函数编译器会对函数模板进行两次编译3.在声明的地方对模板代码本身进行编译;在调用的地方对参数替换后的代码进行编译。(第一次编译,...原创 2019-04-03 22:02:37 · 153 阅读 · 0 评论 -
C++——Vector容器
vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法)。vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时,因为vector在内存中是一块连续的内存空间,类似于线性表的形式,当在中间插入或删除时,其他元素需要移动。vector采用模板类实现,vector对象的默认构造形式...原创 2019-05-16 22:12:20 · 169 阅读 · 0 评论 -
C++字符串处理(字符串的大小写转换)
string s2 = "AAAbbb";transform(s2.begin(), s2.end(), s2.begin(), toupper);cout << s2 << endl;string s3 = "AAAbbb";transform(s3.begin(), s3.end(), s3.begin(), tolower);cout << ...原创 2019-05-16 21:46:10 · 5541 阅读 · 1 评论 -
C++字符串处理(二)
字符指针和string的转换1.string转换成char*:s1.c_str()//str()函数返回字符串的首地址。2.字符串的拷贝:string s1="aaavvv";char buf1[128] ={0};//char buf[1024]={0}和char buf[1024]=""一样,因为'\0'字符的ASCII值为0,s1.copy(buf1, 30, 0); ...原创 2019-05-15 21:41:09 · 244 阅读 · 0 评论 -
C++异常机制+DAY12(异常的层次结构)
#include <iostream>using namespace std;class MyArray{public: MyArray(int len); ~MyArray();public: int & operator[](int index); int getLen(); class eSize { public: eSize(int...原创 2019-04-29 22:02:11 · 142 阅读 · 0 评论 -
c++函数模板和类模板——DAY8
C语言的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a C++的类型转换有如下四种: 1.static_cast 静态类型转换。如int转换成char。编译的时c++编译器会做类型检查;基本类型能转换 但是不能转换指针类型 ...原创 2019-04-19 22:03:57 · 210 阅读 · 0 评论 -
C++异常机制——DAY11
1.当抛出的是类的元素时//如果接受异常的时候,使用一个异常变量,则copy构造异常变量,会调用拷贝构造函数。 throw 类名();catch (类名 e) //e可以写 也可以不写,不写的话就没法用e了 { cout " 异常" << endl; }2.当抛出的是元素的引用时b//使用引用的话 会使用throw时候的那个对象,不会执行拷贝构造函数。th...原创 2019-04-28 22:01:31 · 975 阅读 · 0 评论 -
C++异常机制——DAY10
1.异常被抛出后,从进入try块起,到异常被抛掷前,这期间在栈上的构造的所有对象,都会被自动析构。析构的顺序与构造的顺序相反。这一过程称为栈的解旋(unwinding)。测试程序如下:#include <iostream>using namespace std;class Test{public: Test(int a = 0, int b = 0) { th...原创 2019-04-26 23:21:04 · 141 阅读 · 0 评论 -
C++异常机制
1.#include <iostream>using namespace std;//1 基本语法 //2 发生异常之后,是跨函数 ://3 接受异常以后 可以不处理 再抛出异常//4 catch异常的时 按照类型进行catch//5 异常捕捉严格按照类型匹配一、void main(){ try//抛出的是char型,而第一个catch是int型,...原创 2019-04-25 21:57:33 · 109 阅读 · 0 评论 -
C++函数模板和类模板——DAY7
1.类模板中的static关键字当一个类模板中有static关键字定义的变量时,当初始化多种类型时,每种类型的类,都使用自己的变量,互不影响;但是相同类型的不同对象使用变量时会互相影响。(类模板的本质会产生相应类型的多个类)2.综合运用:请设计一个数组模板类(MyVector),完成对int、char、Teacher类型元素的管理。#include <iostream>...原创 2019-04-09 21:59:41 · 191 阅读 · 0 评论 -
C++函数模板和类模板——DAY6
1.所有的类模板函数写在类的外部,在一个cpp中 普通函数需要在函数参数、函数返回值和函数名称那都加上<T>template <typename T>Complex<T> Complex<T>::operator+ (Complex<T> &c2){ Complex tmp(a+...原创 2019-04-08 22:03:40 · 135 阅读 · 0 评论 -
C++函数模板和类模板——DAY2
1.函数模板遇上普通函数:调用函数模板(本质:类型参数化),将严格的按照类型进行匹配,不会进行自动类型转换;普通函数的调用:可以进行隐式的类型转换具体规则如下:1.函数模板可以像普通函数一样被重载;2.c++编译器优先考虑普通函数;3.如果函数模板可以产生一个更好的匹配,那么选择函数模板;4.可以通过空模板实参列表的语法限定编译器只通过模板匹配。如下代码为具体说明:#inclu...原创 2019-04-02 21:31:28 · 114 阅读 · 0 评论 -
c++函数模板和类模板——DAY1
1.什么时候使用函数模板和;类模板:函数的业务逻辑一样,但函数类型参数不一样,为了方便程序员的编程。template T相当于一个类型。template是告诉c++编译器,我要开始泛型编程了,不要随便报错。函数模板的调用: 1.显示类型调用 myswap(x,y); <>表示要参数化的数据类型 2.自动类型推导(不常用,不好用)直接调用函数 例:mys...原创 2019-04-01 22:05:35 · 130 阅读 · 0 评论 -
C++函数模板和类模板——DAY5
1.从模板类派生出模板类:template <class T>class A{public: A(T a) { this->a = a; }public: void printA() { cout << "a: " << a << endl; }protected: T a;};template <...原创 2019-04-06 21:58:03 · 152 阅读 · 0 评论 -
C++函数模板和类模板——DAY4
lei1.类模板的介绍:类模板和函数模板的定义和使用类似,有两个或多个类,其功能是相同的,仅仅是数据类型不同。 类模板用于实现类所需数据的类型参数化; 类模板在表示数组、表、图等数据结构时非常重要,可以实现数据类型和算法的分离。2.类模板的使用:具体如下代码 类模板的定义以及使用:template<typename T>class A {publ...原创 2019-04-04 22:04:49 · 144 阅读 · 0 评论 -
c++字符串处理(一)
字符串处处理:c语言:用字符数组来模拟字符串c++:有string类,该类里面封装了char *,好处:不用考虑内存的越界等问题。string的初始化: string s1="aaa";string s2("bbb");string s3=s2;//通过拷贝构造函数来初始化字符串。string s4=(10,'a');//用10个字符a来初始化s4stri...原创 2019-05-12 23:01:17 · 242 阅读 · 0 评论