随笔分类 - C++知识点
摘要:通过日期时间点,获取该日期所属周时间段,比如20190117 返回20190114-20190120
阅读全文
摘要:1.空类 解析:类的实例化就是为每个实例在内存中分配一块地址;每个类在内存中都有唯一的标识,因此空类被实例化时,编译器会隐含地为其添加一个字节,以作区分。 2.虚函数类 解析:当一个类中包含虚函数时,会有一个指向其虚函数表的指针vptr,系统为类指针分配大小为4个字节(即使有多个虚函数)。 3.普通
阅读全文
摘要:原文出处:【Fei Guo】 1. 结构体和共同体的区别。 定义: 结构体struct:把不同类型的数据组合成一个整体,自定义类型。 共同体union:使几个不同类型的变量共同占用一段内存。 地址: struct和union都有内存对齐,结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选
阅读全文
摘要:C++中虚函数的作用主要是实现了多态的机制,核心理念就是通过基类访问派生类定义的函数。多态也就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,也就是试图使用不变的代码来实现可变的算法。比如:模板技术
阅读全文
摘要:面向对象是以事物为中心的编程思想,把构建问题事务分解成各个对象,建立对象的目的是为了描述某个事物在整个解决问题的步骤中的行为; 面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时依次调用就可以了; 区别: 面向对象程序设计,往往是从问题的一部分着手,一点一点地构建出整个程
阅读全文
摘要:C++中类的初始化操作一般有四个部分组成: 1.构造函数初始化列表 2.构造函数体内赋值 3.类外部初始化 4.类声明时直接赋值 对于内部数据类型(char,int,float...),构造函数初始化列表和构造函数体内赋值,基本上没多大区别,效率差异也不大,但两者不能共存: 对于类类型来说,最好是使
阅读全文
摘要:LeetCode Algorithm 原文出处:【LeetCode】 算法参考:【陈皓 coolshell】 1. Two Sum 3. Longest Substring Without Repeating Characters 5. Longest Palindromic Substring 6
阅读全文
摘要:C++算法接口参考 算法参考:【algorithm】 编译:g++ -std=c++11 xxx_algorithm.cpp 运行:./a.out 1.保持原序列运算 all_of any_of none_of for_each find find_if find_if_not find_end f
阅读全文
摘要:C++11 中值得关注的几大变化(详解) 原文出处:【陈皓 coolshell】 源文章来自前C++标准委员会的 Danny Kalev 的 The Biggest Changes in C++11 (and Why You Should Care),赖勇浩做了一个中文翻译在这里。所以,我就不翻译了
阅读全文
摘要:C++代码中,使用DbgHelp模块的MINIDUMP编程生成 然后在程序的InitInstance中加入代码如下:
阅读全文
摘要:1.单链表单链表的结点类型node定义: <1>.建立单链表 <2>.单链表查找结点 <3>.单链表长度//普通链表 //循环链接 <4>.单链表插入结点 <5>.单列表删除结点 2.双链表双链表结点类型定义 <1>.创建双链表 <2>.查找结点//普通双链表 //循环双链表 <3>.双链表插入结点
阅读全文
摘要:C/C++ 知识点 sizeof使用规则及陷阱分析 原文出处:【胖奇的专栏】 1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a v
阅读全文
摘要:LIB和DLL的区别与使用 原文出处:【远风工作室】共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静
阅读全文
摘要:1.strcpy字符串拷贝2.strcmp字符串比较3.strstr字符串查找4.strDelChar字符串删除字符5.strrev字符串反序6.memmove拷贝内存块7.strlen字符串长度 1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和
阅读全文
摘要:在软件工程中,设计模式用来描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,是软件“设计”层次上的问题。使用设计模式可提高代码的重用性和可靠性,使代码更容易被他人理解,使代码编制真正工程化。一般将设计模式分为三种类型,共23种:1.创建型模式抽
阅读全文
摘要:1.冒泡排序冒泡排序是O(N^2)复杂度的排序算法,效率较低,需要N趟遍历,每次将候选集中最小的数通过交换浮到最上面; 2.选择排序选择排序就是每次在候选集合中选择最小的数插入到候选结合的开头,并且不断的缩小候选集合的过程,从算法实现的角度讲,就是要进行N词遍历,每次在候选集合中选择最小的数放在候选
阅读全文
摘要:C/C++ 知识点 存储区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的
阅读全文
摘要:数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值。数组可以在某些情况下转换为指针,当数组名在表达式中使用时,编译器会把数组名转换为一个指针常量,是数组中的第一个元素的地址,类型就是数组元素的地址类型;指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的
阅读全文

浙公网安备 33010602011771号