上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页
摘要: struct Test { Test(){cout << "默认\n";} Test(Test &&) {cout << "移动\n"; }; Test & operator=(Test &&) {cout << "赋值\n"; return *this;} }; Test func() { ret 阅读全文
posted @ 2022-06-08 16:40 hellozhangjz 阅读(26) 评论(0) 推荐(0) 编辑
摘要: decltype会识别const和引用 decltype一个表达式的时候会判断该表达式是左值还是右值,如果是左值就返回引用,否则就返回非引用。 int &a = xx; const decltype(a) b = xxx; typedef int* pp; const pp x; 这里的b是int& 阅读全文
posted @ 2022-06-07 09:52 hellozhangjz 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 首先明确一个类的用户有三种: 一类用户:类的成员和友元 二类用户:子类的成员及子类的友元 三类用户:外部的用户代码(通过类的对象或指针) 一个类有三种成员 private:只有一类用户可以访问private成员。 protected:只有一、二类用户可以访问protected成员。 public:所 阅读全文
posted @ 2022-05-24 11:40 hellozhangjz 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 类型转换函数负责将一个类类型转换成其他类型。典型的一个例子是将cin >> x作为循环的条件,就是将一个istream对象转换成了bool类型。基本形式如下 operator type() const; 类型转换运算符通常是隐式执行,容易引发错误,最好将其定义成显式的。 class A{ publi 阅读全文
posted @ 2022-05-21 18:18 hellozhangjz 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 一个对象是左值还是右值会影响其成员函数的调用,在参数后边放置一个引用限定符来修饰:&表示该对象是左值,&&表示该对象是右值。 class Foo{ public: Foo sorted() &&; //右值对象可以调用 Foo sroted() const &; //任何对象都可以 private: 阅读全文
posted @ 2022-05-18 20:14 hellozhangjz 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 右值的定义:只能出现在等号“=”右边的表达式。 当我们需要拷贝或者复制一个右值的时候,我们可以考虑移动右值。因为拷贝会新建一个对象,当对象初始化需要分配内存,拷贝的分配内存开销也很大,而移动不会新建对象,而是接管右值的资源。 对象移动是相对于对象拷贝的,在一些场景(比如:把对象作为一个参数传递)移动 阅读全文
posted @ 2022-05-18 17:24 hellozhangjz 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数 class Foo{ public: Foo(); Foo(const Foo&); //自己定义的拷贝构造函数 }; 如果不自己定义,编译器会自己合成一个默认拷贝构造函数: class Foo{ public: int a,b,c; Foo(); Foo(const Foo&); / 阅读全文
posted @ 2022-05-11 20:44 hellozhangjz 阅读(54) 评论(0) 推荐(0) 编辑
摘要: Morris遍历 cur有左树且第一次遍历到,去左孩子 没左树或者第二次遍历到,去右孩子 没右树,去后继节点 得到Morris序。对于该序列中出现两次的节点,只保留第一次遍历,结果就是先序遍历。只保留第二次遍历,结果就是中序。 对于后序遍历:第二次遍历到某个节点,则逆序打印这个节点的左子树的右边界, 阅读全文
posted @ 2022-04-24 10:20 hellozhangjz 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 已通过leetcode647:https://leetcode-cn.com/problems/palindromic-substrings/ void get_d(vector<int> & d, const string & s) { //l r 为维护的最靠右的回文串边界 int n = s. 阅读全文
posted @ 2022-04-23 11:42 hellozhangjz 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数学方法 斐波那契的递推式有$F_n = F_{n-1} + F_{n-2}\(,可以证明\)\begin{pmatrix}F_n & F_{n-1} \end{pmatrix} = \begin{pmatrix}F_{n-1}&F_{n-2} \end{pmatrix}*A$ ,$A$是常 阅读全文
posted @ 2022-04-10 10:48 hellozhangjz 阅读(48) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页