随笔分类 -  C++

摘要:list<pair<int,int>> li ; li.push_front({23,1}); //对 li.emplace_front(23,1); //对 //li.push_front(1,2) ; //错 //li.emplace_front({1,2}) ; //错 li.emplace_ 阅读全文
posted @ 2021-01-13 20:41 zeroPatrick 阅读(268) 评论(0) 推荐(0)
摘要:#include <list> #include <iterator> …… list<int> li = {1,2}; list<int>::iterator it = prev(li.end()); //此时 it 指向 2 阅读全文
posted @ 2021-01-13 20:13 zeroPatrick 阅读(2475) 评论(0) 推荐(0)
摘要:class Solution { private: vector<vector<bool>>* haveVisit; vector<vector<int>> memo; public: bool exist(vector<vector<char>>& board, string word) { ha 阅读全文
posted @ 2021-01-13 11:43 zeroPatrick 阅读(856) 评论(0) 推荐(0)
摘要:int main(){ vector<vector<int>> ans; ans.emplace_back({1,1,1}); //报错 ans.push_back({1,1,1}); //OK return 0; } 阅读全文
posted @ 2021-01-12 13:12 zeroPatrick 阅读(129) 评论(0) 推荐(0)
摘要:构造函数: 先基类 后子类 子类构造函数可能需要使用基类元素 析构函数: 先子类 后基类 Father *pfather=new Son; delete pfather; 如果基类的析构函数不定义为虚函数的话,此时,只有基类会被析构,子类不会被析构。 所以,如果一个类有可能被继承的话,应将其析构函数 阅读全文
posted @ 2021-01-11 21:58 zeroPatrick 阅读(636) 评论(0) 推荐(0)
摘要:bool check_size(string s, int sz) { return s.size() >= sz; } int main() { vector<string> strs = { "axx", "css", "bww", "ssdde", "awweerf" }; int sz = 阅读全文
posted @ 2021-01-10 00:10 zeroPatrick 阅读(130) 评论(0) 推荐(0)
摘要:int main() { deque<int> b = {1,2,3}; list<int> c = {4,5,6}; vector<int> a1(vector<int>{b.begin(),b.end()}); vector<int> a2(vector<int>{c.begin(),c.end 阅读全文
posted @ 2021-01-06 20:36 zeroPatrick 阅读(2196) 评论(0) 推荐(0)
摘要:转载自:https://blog.csdn.net/li1194094543/article/details/105610044 C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个 阅读全文
posted @ 2021-01-06 20:24 zeroPatrick 阅读(1313) 评论(0) 推荐(0)
摘要://升序队列,小顶堆 priority_queue <int,vector<int>,greater<int> > q; //降序队列,大顶堆 priority_queue <int,vector<int>,less<int> >q; //greater和less是std实现的两个仿函数(就是使一个 阅读全文
posted @ 2020-12-28 13:09 zeroPatrick 阅读(65) 评论(0) 推荐(0)
摘要:转载自:https://blog.csdn.net/kking_edc/article/details/105929271 C++ 万能头文件 #include <bits/stdc++.h>(写了这个一个下面的都可以不用写啦,一劳永逸有木有) 数据流输入/输出:cin>>,cout<<的头文件:# 阅读全文
posted @ 2020-12-26 10:36 zeroPatrick 阅读(326) 评论(0) 推荐(0)
摘要:struct pair_hash { template<class T1, class T2> std::size_t operator() (const std::pair<T1, T2>& p) const { auto h1 = std::hash<T1>{}(p.first); auto h 阅读全文
posted @ 2020-12-26 00:32 zeroPatrick 阅读(889) 评论(0) 推荐(0)
摘要:编译器将使用相应的函数代码替换函数调用。对于内联代码,程序无需跳到另一个位置处执行代码,再调回来。因此,内联函数的执行速度比常规函数稍快,但代价是需要占用更多的内存。如果程序在10个不同的地方调用同一个内联函数,则该程序将包含该函数代码的10个副本。 应有选择地使用内联函数。如果执行函数代码的时间比 阅读全文
posted @ 2020-12-25 14:32 zeroPatrick 阅读(372) 评论(0) 推荐(0)
摘要:1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。 2.const_iterator 对象可以用于const vector 或非 const vector,它自身的值可以改(可以指向其他元 阅读全文
posted @ 2020-12-25 14:16 zeroPatrick 阅读(475) 评论(0) 推荐(0)
摘要:#define _CRTDBG_MAP_ALLOC #include <cstdlib> #include <crtdbg.h> int main() { int* p = (int*)malloc(sizeof(int)*10); _CrtDumpMemoryLeaks(); return 0; 阅读全文
posted @ 2020-12-25 10:51 zeroPatrick 阅读(293) 评论(0) 推荐(0)
摘要:使用方法: unique_ptr<string> ps1(new string("hello")); shared_ptr<vector<int>> ps2(new vector<int>(3)); //(*ps2).size() = 3;weak_ptr <vector<int>> ps5(ps2 阅读全文
posted @ 2020-12-22 19:51 zeroPatrick 阅读(51) 评论(0) 推荐(0)
摘要:智能指针和普通指针的区别在于智能指针实际上是对普通指针加了一层封装机制,这样的一层封装机制的目的是为了使得智能指针可以方便的管理一个对象的生命期。 在C++中,我们知道,如果使用普通指针来创建一个指向某个对象的指针,那么在使用完这个对象之后我们需要自己删除它,例如: ObjectType* temp 阅读全文
posted @ 2020-12-22 19:44 zeroPatrick 阅读(96) 评论(0) 推荐(0)
摘要:const_cast: 用来移除变量的const或volatile限定符。注意:const_cast是不能用来执行任何类型的转换的,比如只能讲const char* p 转换成char* p,而不能转成int* p。 int main() { struct T { int i; }; const T 阅读全文
posted @ 2020-12-22 13:03 zeroPatrick 阅读(724) 评论(0) 推荐(0)
摘要:#include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; bool comp(int a, int b) { return a < b; } struct cus 阅读全文
posted @ 2020-12-21 15:47 zeroPatrick 阅读(424) 评论(0) 推荐(0)
摘要:整数、浮点数转字符串 std::to_string 定义于头文件 <string> std::string to_string( int value ); (1) (C++11 起) std::string to_string( long value ); (2) (C++11 起) std::st 阅读全文
posted @ 2020-12-21 13:21 zeroPatrick 阅读(1264) 评论(0) 推荐(0)
摘要:this 指针 this 指针是一个隐含于每一个非静态成员函数中的特殊指针。它指向调用该成员函数的那个对象。 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 当对一个对象调用成员函数时,编译程序先将对象的地址赋给 this 指针,然后调用成员函数, 阅读全文
posted @ 2020-12-19 17:09 zeroPatrick 阅读(128) 评论(0) 推荐(0)