随笔分类 -  C++

摘要:C++数组概述 基本概念 1. 数组是固定大小的一种复合类型 因为数组是固定大小,所以在编译期间就决定了基大小 数组的内存是连续(无论是一维数组还是多维数组) 2. 数组的特性 数组之间不允许拷贝和赋值 数组名是常指针 数组的操作 1. 数组的初始化 数组定义时不初始化,则会被初始化为未初始化值 大 阅读全文
posted @ 2017-06-26 17:45 飞鹤0755 阅读(482) 评论(0) 推荐(0)
摘要:x86汇编基础知识 1. 汇编常用寄存器 2. 汇编常用指令基础 函数调用的反汇编过程 C/C++代码 测试代码 C风格函数反汇编 1. 调用函数反汇编 2. call Add跳转到的代码 3. 被调用函数Add反汇编 C++类函数调用反汇编 1. 调用函数反汇编 2. call Add跳转到的代码 阅读全文
posted @ 2017-06-08 17:35 飞鹤0755 阅读(763) 评论(0) 推荐(0)
摘要:前言 泛型编程是C++继面向对象编程之后的又一个重点,是为了编写与具体类型无关的代码。而模板是泛型编程的基础。模板简单来理解,可以看作是用宏来实现的,事实上确实有人用宏来实现了模板类似的功能。模板,也可以理解为模具行业的模型。根据分类,有函数模板和类模板。根据传入的不同模板参数,函数模板会生成不同模 阅读全文
posted @ 2016-10-24 11:46 飞鹤0755 阅读(1395) 评论(0) 推荐(4)
摘要:网上、一些书上也写道,这两种方式作用一样。其实仔细分析,它们两者还是有非常大的差异的。 Additinal Dependencies和#pragma comment(lib,"*.lib")都是针对.lib文件的。 而.lib文件其实有两种。 一种是与DLL相关的,描述DLL中的函数入口地址等的,在 阅读全文
posted @ 2016-06-16 23:40 飞鹤0755 阅读(728) 评论(0) 推荐(0)
摘要:前言 熟练掌握Windows下的多线程编程,能够让我们编写出更规范多线程代码,避免不要的异常。Windows下的多线程编程非常复杂,但是了解一些常用的特性,已经能够满足我们普通多线程对性能及其他要求。 进程与线程 1. 进程的概念 进程就是正在运行的程序。主要包括两部分: • 一个是操作系统用来管理 阅读全文
posted @ 2016-05-08 23:30 飞鹤0755 阅读(6716) 评论(0) 推荐(1)
摘要:static_assert 声明 static_assert 声明在编译时测试软件断言,这与在运行时进行测试的其他断言机制不同。 如果断言失败,则编译也将失败,且系统将发出指定的错误消息。 这样编译时就会报出Error的错误提示信息。 decltype作为操作符 用于返回表达式的数据类型。 Fun2 阅读全文
posted @ 2016-04-20 22:45 飞鹤0755 阅读(1601) 评论(0) 推荐(0)
摘要:前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍。 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. 内存泄露查找 4. 调试Release版本 5. 远程调试 6. 函数断点 7. 数据断点。 8. 阅读全文
posted @ 2016-02-15 21:44 飞鹤0755 阅读(1133) 评论(0) 推荐(0)
摘要:前言了解C++程序内存分配,有助于深刻理解变量的初始化值以及其生存周期。另外,变量类型修饰符也会影响到变量的初始化值及其生存周期。掌握了不同类型变量的初始化值及其生存周期,能够让我们设计程序时定义变量时更准确。内存分配1. C++程序的内存布局现代电脑都是遵循冯诺依曼体系结构,所以C++程序的内存布... 阅读全文
posted @ 2016-01-24 21:35 飞鹤0755 阅读(447) 评论(0) 推荐(0)
摘要:首先我们来认识下这些错误中提示的信息: nafxcwd.lib,MFC静态链接库,调试版。(发布版是nafxcw.lib) LIBCMTD.lib,多线程版的CRT库。 DLLMain函数,在dllmodul.cpp和dllmain.cpp中都有定义。 new、delete、delete[],CRT库中有一套标准实现,但是MFC中均重新实现了一遍。 那么上面的错误的意思即是,已经链接过LIBCMTD.lib,再链接nafxcwd.lib即会报重复定义的错误。 阅读全文
posted @ 2015-07-17 19:36 飞鹤0755 阅读(1159) 评论(0) 推荐(0)
摘要:要想深入的理解STL的迭代器、分配器等,就必须了解C++模板编程中的一个技巧——Traits。1、问题的提出C++的模板特性为泛型编程提供了支持。这样我们就可以编写更加通用的代码,而不必过分去关心参数的类型。然而事实却是,类型的不同,很多时候却影响到了算法中的某个小小的实现。举个标准库里的类stri... 阅读全文
posted @ 2015-05-10 09:35 飞鹤0755 阅读(1820) 评论(0) 推荐(0)
摘要:近来公司招人较多,由此面试了非常多的C++程序员。面试时,我都会问到参数传递的相关问题,尤其侧重指针。因为指针毕竟是C/C++最重要的一个优势(在某种情况下也可以说是劣势)。但其结果是,1/3的人基本上讲错了,1/3的知其然却不知其所以然。所以我觉得有必要把这些知识点梳理下,分享出来。(下面的讨论都... 阅读全文
posted @ 2015-01-11 15:22 飞鹤0755 阅读(1567) 评论(12) 推荐(3)
摘要:正态分布(Normal distribution)又名高斯分布(Gaussiandistribution)。若随机变量X服从一个数学期望为μ、方差为σ^2的高斯分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。我们通常所说的标准正态分布是μ = ... 阅读全文
posted @ 2014-10-24 00:11 飞鹤0755 阅读(4077) 评论(0) 推荐(0)