摘要:
类中有其他构造函数的时候最好定义默认构造,或则利用default关键字将其变成合成默认构造。 class Phone { public: Phone(std::string name) { name_ = name; } std::string name_; }; class Person { pu 阅读全文
摘要:
一. 当构造受委托的构造函数时,受委托的构造函数函数体会执行而委托构造函数函数体不会执行; class Person { public: Person() { cout << "这是一个无参构造" << endl; } Person(const Person& p) { cout << "这是一个拷 阅读全文
摘要:
类中含有const或引用类型成员变量时不能使用合成默认构造函数,只能使用默认构造函数并且给它们赋予初值。 阅读全文
摘要:
目前已经学过了作用域运算符的三个作用 1.调用类中静态成员函数 class Person { public: static int m_person; }; int main() { Person::m_person; } 2.类内用typedef或则using起类型别名,在类外使用该类型别名时: 阅读全文
摘要:
封装: 属性和行为作为一个整体,来表现各种事物。 将属性和行为加以权限控制(private,public,protected) 一些术语: 属性(成员属性,成员变量),行为(成员函数,成员方法);统称为成员。 实例化(通过一个类,创建一个对象的过程) 注意我们可以创建一个指向类的指针或则引用,但这不 阅读全文
摘要:
函数指针的作用是:一个函数有一部分代码不确定,可以将这个不确定的代码写入另外一个函数供这个函数调用,另外一个函数称为回调函数,和调用其他对象不同的是,回调函数直接将自己的代码嵌入到调用点处。 注意,函数的形参不可以是函数,但可以是函数的指针 当回调函数有参数需要传入的时候可以这样写: 1 void 阅读全文
摘要:
数组存放在栈区,vector容器存放在堆区 定长容量较小时使用数组,此时数组性能较好,变长容量较大或则不确定容量时使用容器 常常习惯用迭代器来访问vector而非下标,但是当vector为二维时最好用下标来访问,因为这样可以自由的访问每个元素,而迭代器只能一行一行的访问。比如牛客的这道题:显然用下标 阅读全文
摘要:
所用算法:二分搜索 一维: 704. 二分查找 - 力扣(LeetCode) 算法说明:二分搜索从有序序列中寻找某个给定的值 算法思想:二分法首先从中心位置开始搜索,如果中心位置的元素正好是要找的元素,搜索完成;如果不是,假如中心位置的元素小于要找的元素,则从序列的后半部分找,如果中心位置的元素大于 阅读全文
摘要:
1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 bool Find(int target, vector<int> array) { 5 auto begin = array.begin(), end = array. 阅读全文
摘要:
个人认为容器最规范的初始化有三种: 1.花括号初始化: 1 vector<string>v1{"a","an"}; 适用于已知容器中元素的个数以及元素的值的情况 2.圆括号 1 vector<string>v1(10);//不推荐 2 //或 3 vector<string>v1(10,""); 适 阅读全文