随笔分类 -  C++

C++ four sub languages: OOP、Template C++、STL、Std C;multi programming-paradigm:procedure、meta-program、OOP、functional、genericity
摘要:// to do https://blog.csdn.net/u010385624/article/details/78876810 https://www.cnblogs.com/hazir/p/new_and_delete.html https://blog.csdn.net/eclipser1 阅读全文
posted @ 2019-09-15 09:33 ningKing 阅读(144) 评论(0) 推荐(0)
摘要:https://github.s3.amazonaws.com/downloads/chenshuo/documents/CppPractice.pdf?X Amz Algorithm=AWS4 HMAC SHA256&X Amz Credential=AKIAISTNZFOVBIJMK3TQ%2F 阅读全文
posted @ 2019-09-13 10:59 ningKing 阅读(372) 评论(0) 推荐(0)
摘要:TODO: 阅读全文
posted @ 2019-08-17 12:47 ningKing 阅读(111) 评论(0) 推荐(0)
摘要:从技术上来说,堆(heap)是C语言和操作系统的术语。堆是操作系统所维护的一块特殊内存,它提供了动态分配的功能,当运行程序调用malloc()时就会从中分配,稍后调用free可把内存交还。而自由存储是C++中通过new和delete动态分配和释放对象的抽象概念,通过new来申请的内存区域可称为自由存 阅读全文
posted @ 2019-07-23 23:46 ningKing 阅读(265) 评论(0) 推荐(0)
摘要:1、multimap和multiset 使用 之前只是在C++ Primer里面看过关联容器,可能因为没有实际用过,只是看看,所以并不熟悉;这之前,map和set的特性应该要了解,map是关联数组,也就是由键值对组成的,而set只是关键字的集合,但是两者都只允许关键字是唯一的,也就是对于一个给定的关 阅读全文
posted @ 2019-06-13 23:39 ningKing 阅读(161) 评论(0) 推荐(0)
摘要:1、句柄类可以做到两点好处: ▪ 减少编译量,修改底层类,不需要编译句柄类; ▪ 隔离信息,隐藏了底层细节,用户只能够看到,类开放出来的接口; 2、实现一个泛型句柄类: 阅读全文
posted @ 2019-05-10 23:02 ningKing 阅读(308) 评论(0) 推荐(0)
摘要:智能指针的使用栗子(如下定义中,也可以将指针计数维护类增加封装为友元类,或者直接在智能指针类中维护): 阅读全文
posted @ 2019-04-04 23:19 ningKing 阅读(147) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-08-17 22:59 ningKing 阅读(101) 评论(0) 推荐(0)
摘要:test 阅读全文
posted @ 2018-07-11 19:58 ningKing 阅读(103) 评论(0) 推荐(0)
摘要:发帖人 阅读全文
posted @ 2018-06-21 07:55 ningKing 阅读(147) 评论(0) 推荐(0)
摘要:1、什么是字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简 阅读全文
posted @ 2018-05-20 23:40 ningKing 阅读(667) 评论(0) 推荐(0)
摘要:1、关键字语义 1、用const修饰的对象,只能访问该类中用const修饰的成员函数,而其它的成员函数是不能访问的。用volatile修饰的对象,只能访问该类中用volatile修饰的成员函数,不能访问其它的成员函数。 当希望成员函数只能引用成员数据的值,而不允许成员函数修改数据成员的值时,可用关键 阅读全文
posted @ 2018-04-20 07:37 ningKing 阅读(144) 评论(0) 推荐(0)
摘要:转自 一, auto 1, auto的作用 一般来说, 在把一个表达式或者函数的返回值赋给一个对象的时候, 我们必须要知道这个表达式的返回类型, 但是有的时候我们很难或者无法知道这个表达式或者函数的返回类型.(特别在模板中) 这个时候, 我们就可以使用auto关键字来让编译器帮助我们分析表达式或者函 阅读全文
posted @ 2018-03-24 21:27 ningKing 阅读(223) 评论(0) 推荐(0)
摘要:C++关键字 static、extern、inline 单独的含义和用法都不难,但组合起来的含义常常比较含糊,本文主要分析 static inline 和 extern inline。引用 Linux 之父 linus 的原话: "static inline" means "we have to h 阅读全文
posted @ 2018-02-16 23:56 ningKing 阅读(879) 评论(0) 推荐(0)
摘要:1、new与malloc来源 malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 Q:那么已经有了malloc和free,为什么还需要new和delete? A:这是因为对于非内部数据类型的对象而言,maloc/free无法 阅读全文
posted @ 2018-02-13 16:50 ningKing 阅读(347) 评论(0) 推荐(0)
摘要:volatile,词典上的解释为:易失的;易变的;易挥发的。C++使用关键词volatile,有三个特性:易变性、不可优化性、顺序性。下文将详细分析,先看下 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明: "A volatile spec 阅读全文
posted @ 2018-01-11 19:07 ningKing 阅读(270) 评论(0) 推荐(0)
摘要:1、explicit含义 C++中 explicit 被用来修饰只有一个参数的构造函数,作用是调用该构造函数必须是显示的(且要求只能放在函数声明处), 跟它相对应的单词是 implicit(隐含的、不言明的), 类构造函数默认情况下即声明为 implicit (因此C++没有此关键字)。 如果不使用 阅读全文
posted @ 2017-12-12 21:31 ningKing 阅读(928) 评论(0) 推荐(0)
摘要:1、C++进程内存分布 在C/C++程序进程内存分为:代码区、静态区、常量区、堆区、栈区,不同区域存放不同内容: 内存区|存放内容|说明 | | 代码区|二进制代码|CPU可执行的机器指令,且是只读的 静态区|全局和静态变量|包括局部静态变量 常量区|程序在运行的期间不能够被改变的量|例如: 全局c 阅读全文
posted @ 2017-11-23 22:49 ningKing 阅读(1291) 评论(0) 推荐(1)
摘要:1、头文件和源文件应该写什么 头文件和源文件写什么,原则取决于C++编译机制,C++语言以"xxx.cpp"为单位进行编译生成 xxx.obj, 然后目标文件链接生成 xxx.exe (windows),类似 xxx.h 文件是不参与编译,头文件主要通过 include 宏,将头内容复制到源文件。所 阅读全文
posted @ 2017-10-13 10:46 ningKing 阅读(237) 评论(0) 推荐(0)
摘要:一、预编译概述 1.1 预编译定义 预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。 目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源码,检查预处理指令,对源代码进行相应转换,并删除程序中的注释和多 阅读全文
posted @ 2017-09-17 12:02 ningKing 阅读(1119) 评论(0) 推荐(0)