C++
沸沸腾
现在对自己坏一点,将来社会就会对你好一点
展开
-
【C++】C++ primer第2章总结
该章主要讲了基本内置变量以及const关键字下面是注意点:无符号的数与有符号的数相加会把有符号的数转为无符号的数unsigned u = 10;int i = -42;cout << i + u <<endl; //out -84cout 将有符号的数转为无符号的数,然后取模相加复合类型引用类型:引用就是给对象起另外一个名字,这样改变了引用也就改变了对原创 2015-04-09 14:38:04 · 399 阅读 · 0 评论 -
【c++总结-类】一个例子知道类的创建,对象,函数实现,构造函数,析构函数
例子:#include <iostream>using namespace std;class Person {public://类函数和成员函数都是public的,供外界调用 Person();//无参构造函数,如果没有构造函数会自动创建一个无参构造函数 Person(string name, int age);//有参构造函数 ~Person();//析构函数,释放内原创 2015-05-14 22:08:42 · 1057 阅读 · 0 评论 -
【C++总结】数组
数组的初始化数组定义的时候就要确定大小 int arr1[10];//定义一个10个元素的数组 int arr2[10] = {1, 2, 3, 4}; int arr22[20]{1,2,3,4}; int arr3[] = {1, 2, 3, 4}; int arr33[]{1,2,3,4,5}; int n; int arr[n];//错误的初始化,n只能是常量,不能是变量创建动态数原创 2015-05-22 11:18:37 · 623 阅读 · 0 评论 -
【C++总结】C++的new和delete
使用new的情况当变量是指针的时候就需要使用在堆中开辟空间使用new开辟内存空间 int *p = new int; *p = 2; cout << *p <<endl;//2//也可以开辟的时候初始化int *p = new int(2);cout << *p <<endl;给数组开辟空间int *p = new int[10];//等于p[10]p[0] = 5;//p就是数组的首地址原创 2015-05-14 20:56:09 · 771 阅读 · 0 评论 -
【C++总结】运算符重载
常规的运算符只能计算基本类型的变相,没办法将对象相加或者相减Timer t1;Timer t2;t1 + t2;//t1和t2是对象,不能相加要想能实现对象的运算,必须要重载运算符成员函数形式重载运算符重载运算符只需要把函数名换成operator+const Timer operator+(Timer t);//重载+号运算符,调用的时候默认有个this形参const Timer Timer::原创 2015-06-01 17:18:21 · 798 阅读 · 2 评论 -
【C++总结】函数模板
声明函数模板模板只是用于生成函数的定义,只有当函数调用的时候编译器会生成对应的具体函数//T是类型,也可以为<class T>为98版本template <typename T>void Swap(T &a, T &b) { T temp; temp = a; a = b; b = temp;}重载函数模板template <typename T>void S原创 2015-05-31 16:21:05 · 597 阅读 · 0 评论 -
【C++总结】对象和类,this指针
对象的声明与析构class Person {public: string name; int age;public: Person() {//默认构造函数,如果没有声明构造函数,编译器会默认一个无参的构造函数 name = "ttf"; age = 22; } Person(string name, int age):name原创 2015-05-31 17:23:47 · 574 阅读 · 0 评论 -
【C++总结】函数形参,返回const对象与非const对象,成员函数,函数指针
非引用形参//交换函数,传递的实参只是参数的副本。并不能起到交换作用void swap(int a, int b) { int m = a; a = b; b = m;}指针形参//可以起到交换作用void swap(int *a, int *b) { int m = *a; *a = *b; *b = m;}引用形参//可以起到交换作用原创 2015-05-28 13:56:11 · 987 阅读 · 0 评论 -
【C++总结】关于函数返回对象析构的问题
class Person {public: string name;public: Person() { name = "ttf"; } ~Person(){ cout << this->name <<endl;; } Person &changeName();};Person &Person::changeName原创 2015-05-31 21:37:34 · 2524 阅读 · 0 评论 -
C++标准库类型vector,迭代器使用
①vector的声明要想使用vector,必须包含适当的头文件。#include<vector>using std::vector;vector是一个类模板。②初始化vector对象vector<T> v1; //v1是空得里面装的是T类型vector<T> v2(v1); //v2包含V1里面的所有元素的副本vector<T> v2 = v1; //等价v2(v1);vector<T原创 2015-04-13 18:16:02 · 660 阅读 · 0 评论 -
【C++总结】带有默认参数的函数,缺省函数
例子/*带有参数的函数,默认一个参数为2*/void sum(int a, int b=2) { cout << a + b << endl;}sum(1);//3sum(1, 4);//5不可以的情况/*这种情况不对,因为缺省函数传入的参数,是从右向左匹配,带默认参数的只能放右边*/void sum(int a, int=2, int c) { cout << a + b原创 2015-05-14 21:21:13 · 476 阅读 · 0 评论 -
C++标准库string
一:标准库类型string①使用string要包含头文件#inluddeusing std:string;②sting 对象的初始化string s1; //初始化一个空串string s2(s1); //吧s1赋值给s2(也就是拷贝初始化)string s2 = s1;string s3("value");//(直接初始化)string s3 = "value"原创 2015-04-13 14:43:44 · 521 阅读 · 0 评论 -
【C++总结】C++的域运算符'::'
第一个作用可以访问全局变量int num = 10;int main() { int num = 5; cout << num << endl;//5 cout << ::num << endl;//10}访问类成员原创 2015-05-14 20:46:52 · 702 阅读 · 0 评论 -
【c++总结】C++内联函数
什么是内联函数函数有inline修饰当调用内联函数的时候,不会转到函数里面执行,而是把调用函数替换为内联函数里的内容,效率比较高提高一些循环语句的效率//内联函数inline int add(int a, int b) { return a + b;}int main() { for(int i =0; i< 5; i++) { int num = add(原创 2015-05-14 21:34:01 · 387 阅读 · 0 评论 -
【C++总结】C++函数重载
函数重载相同的作用域,如果两个函数名称相同,而参数不同,我们把它们称为重载什么样的函数是重载形参数量不同 形参类型不同 形参的顺序不同 形参数量和形参类型都不同//函数重载int abs(int i);long abs(long l);double abs(double d);//这种不是函数重载int abs(int i);long abs(int i);void abs原创 2015-05-14 21:09:09 · 406 阅读 · 0 评论 -
【操作系统总结】动态分区分配算法
基于顺序搜索的动态分区分配算法首次适应算法(FF)空闲分区排成一个链,从链首开始查找,知道找到一个大小能满足的要求的分区为止。循环首次适应NF不是每次都是从链首查找,而是从上次找到的空闲分区开始查找,找到下一个能满足要求的空闲分区,最后一个不满足就返回第一个开始查找,找到第一个适合的最佳适应算法BF把空闲分区按照大小排成一个链,从链首开始查询,找到第一个适合的空闲分区最坏适应算法WF总是挑选一个最大原创 2015-05-31 20:01:12 · 5527 阅读 · 0 评论