![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
我真的是dj
这个作者很懒,什么都没留下…
展开
-
模板以及泛型编程
(1)原创 2017-03-20 17:06:14 · 211 阅读 · 0 评论 -
C++标准库—STL算法
STL算法库:#include lambda表达式:使用内嵌匿名函数,不必编写独立函数 [捕捉块] (参数) (可选mutable等) ->return_type{body} mutable将调用标记为非const,如果不加,则不能修改捕捉的参数值; return_type指定返回值的类型,如果忽略,编译器会进行推断; []开始,可以接受参数,可以返回值;auto return=[](i原创 2017-03-21 16:20:07 · 518 阅读 · 0 评论 -
类&对象(一)
C++中定义一个类,本质上就是定义一个数据结构,以关键字class作为标志 一个典型的类结构定义如下: class test { public: int key1; int key2; void get_sum(); };关键字class与struct不同的地方在于,struct默认第一个访问说明符之前的成员是public的,而class原创 2017-03-02 14:04:27 · 256 阅读 · 0 评论 -
字符串
C风格: 使用字符数组,末尾加'\0'; C++使用std::string,但也兼容C版本字符串 中有c字符串操作,如:strcpy()(函数危险,并不考虑能否装下);strlen(返回字符个数,不考虑末尾的'\0'),故而如果使用的话,分配内存要+1(sizeof会考虑末尾的'\0'); 重载了+,+=,==,!=, 自动处理内存需求,string类会在离开作用域的时候调用析构原创 2017-03-15 20:14:52 · 259 阅读 · 0 评论 -
类&对象(二)
test原创 2017-03-16 13:08:20 · 256 阅读 · 0 评论 -
杂货
(1)名称空间 定义自己的名称空间函数: namespace mycode{ void foo() { cout<<1<<endl; } } int main() { mycode::foo(); return 0; }还可以直接using mycode::foo;进行声明之后直接使用。 (2)std::array是c++的大小固定的原创 2017-03-15 15:20:48 · 324 阅读 · 0 评论 -
关于内存管理
(1)C++中的内存分配如下图: 栈用于函数参数以及局部变量值,编译器分配,每个函数有自己的一个堆栈帧,提供独立的内存空间; 堆中放置的是自己申请的内存,如malloc和new申请的; 全局静态区分配的内存分为两部分,初始化以及未初始化的,分开存放; (2)指针也是堆区,记得初始化,未初始化的指针会指向内存中的随意位置(很危险),如果不想初始化,可以令其为空指针nullptr; 使用原创 2017-03-15 15:48:15 · 341 阅读 · 0 评论 -
C++标准库—容器
STL缺点:不能保证线程安全;没有树结构或是图结构; STL的顺序容器: 1.vector 动态数组(任意时间的快速访问) #include vector的创建: vector intVector1;//创建0个元素的vector vector intVector2(10,100);//创建10个元素的vector,每个元素值为100 vector intVe原创 2017-03-21 12:41:41 · 503 阅读 · 0 评论 -
继承
继承实例如下: class Super { public: Super(); void someMethod(); protected: int mProtectedInt; private: int mPrivateInt; }; class sub:public Super { public: Sub(); void someOthe原创 2017-03-17 10:48:51 · 343 阅读 · 0 评论