松狮

如果你想拥有你从未有过的东西, 那么你必须去做你从未做过的事情!

详解C++类的内存分布结构

我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。 工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来: (1)右键CPP文件,属性;  (2)先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAll...

2016-04-26 19:51:48

阅读数:743

评论数:0

概览C++之const

1、C语言中const 与 C++中的const void main() { const int a = 10; int *p = (int*)&a; *p = 20; printf("%d", a); } 比较上述代码在C中和C++中运行结果:C:打印20;C++:打...

2016-04-10 00:06:22

阅读数:2932

评论数:1

C++技术点积累(8)——STL之算法汇总

C++技术点积累(8)——STL之算法汇总: 一、算法概述 1)算法部分主要由头文件,和组成。        是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。        体积很小,只包括几个在序列上面进行简单数学运算的模板...

2015-09-27 16:32:42

阅读数:1239

评论数:0

C++技术点积累(7)——STL之容器汇总

C++技术点积累(7)——STL(标准模板库): STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。STL的一个重要特点是数据结构和算法的分离,这种分离使得STL变得非常通用。

2015-09-24 09:51:34

阅读数:1139

评论数:1

sprintf、snprintf、sscanf、itoa、atoi、cin、string与进制转换

一、sprintf函数(是C标准库函数)        功能:把格式化的数据写入某个字符串缓冲区。        头文件:stdio.h        原型:int sprintf ( char *buffer, const char *format, [argument] …);       ...

2016-08-15 17:05:40

阅读数:1343

评论数:0

大数运算和大数类

1、首先看一个小问题: 整型数组、字符型数组、vector在未初始化的情况下: int main() { int data[5]; char c[5]; vector v(5); vector v1(5); vector v2; cout << "int[]:...

2016-08-09 22:14:36

阅读数:589

评论数:0

操作符(运算符)重载注意事项(含模板类中<<、>>重载)

一、用 友元全局函数 或者  成员函数  重载运算符       关键区别是:成员函数有this指针,友元函数没有成员指针,传递参数的方式不同,实现代码不同。       对于:objectL  op  objectR       成员函数重载 解释为: objectL.operator op ...

2016-08-09 22:13:16

阅读数:892

评论数:0

《C陷阱与缺陷》笔记

这本书不是批判,而是指出易犯错误,防止编程中的陷阱和障碍。 1、易犯错误类型归纳: (1)词法分析;(2)语法细节问题;(3)语义细节;(4)库函数的误用;(5)预处理器;(6)可移植性;(7)预防性程序设计; 2、运算符优先级: (1)任何一个逻辑运算符的优先级低于任何一个关系运算符; ...

2016-07-13 16:59:04

阅读数:287

评论数:0

基本排序算法(2)

1、堆排序: 转(http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html) 举例说明:      给定一个整形数组a[]={16,7,3,20,17,8},对其进行堆排序。     首先根据该数组元素构建一个完全二叉树,...

2016-07-11 13:19:59

阅读数:443

评论数:0

《C++沉思录》——面向对象

面向对象——数据抽象、继承、动态绑定(规模大、方便修改)

2016-06-04 18:33:23

阅读数:457

评论数:0

《C++沉思录》——类设计核查表、代理类、句柄类

《C++沉思录》——类设计核查表、代理类、句柄类

2016-06-04 14:28:35

阅读数:2666

评论数:0

斐波那契数列、跳台阶、变态跳台阶、矩形覆盖

#include #include using namespace std; //9、斐波那契数列 class Solution { public: int Fibonacci1(int n) { /* *第一种解法:递归————从上往下计算,重复计算太多,效率太低,不能满足时...

2016-05-07 17:20:27

阅读数:1161

评论数:0

C++对C语言的扩展

1、C++对C的扩展:    (1)C面向过程加工的是一个个函数,C++面向对象加工的是一个个类;    (2)为什么要写成员函数? class MyCircle { public : void setR(double d) { m_r = d; } /*double getS()        ...

2016-04-28 09:32:24

阅读数:524

评论数:0

深入分析深拷贝(Memberwise Copy)和浅拷贝(Bitwise Copy)

深拷贝、浅拷贝基础:http://blog.csdn.net/songshimvp1/article/details/48244599 ********************************************************************************...

2016-04-26 11:05:15

阅读数:699

评论数:0

C++之输入(cin)详解

1、cin:          输入操作的原理,程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些...

2016-04-21 15:58:49

阅读数:1470

评论数:0

详解struct、class中成员变量的字节对齐

字节对齐的三个准则: 1) 结构体的首地址 能够被 其最宽基本类型成员的大小 所整除; 2) 结构体每个成员 相对于 结构体首地址的偏移量 都是 系统要求字节对齐位数 或者 该成员大小的整数倍,...

2016-04-17 15:40:08

阅读数:1576

评论数:0

二叉树递归遍历中的return

今天瞄到树递归遍历,就多瞄了两眼,没想到一瞄瞄出了自己的尴尬! 直接看代码: #include #include typedef struct BiTNode { int data; BiTNode *lChild, *rChild; }BiTNode; typedef struct B...

2016-03-02 11:41:33

阅读数:1454

评论数:0

类模板成员函数的定义、实现分离与error LNK2019的解决办法

以前一直是把类模板成员函数的定义、实现写在同一个文件中(.h)(原因),然后在调用成员函数的主函数中添加XXXX.h。今天写了一个类模板,因为成员函数过多,不想让头文件看起来过于臃肿,所以采用了.h和.cpp文件分离。结果在主函数中调用成员函数时出现了一堆error LNK2019错误。     ...

2016-02-29 20:22:56

阅读数:848

评论数:0

企业链表模型——业务实体和底层链表算法分离

LinkList.h: #ifndef _MYLINKLIST_H_ #define _MYLINKLIST_H_ typedef void LinkList; typedef struct _tag_LinkListNode { struct _tag_LinkListNode *nex...

2016-02-29 17:20:38

阅读数:1224

评论数:2

error LNK2038、error LNK1123

error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800” 问题描述: 在用VS2013编译时出现下面的错误 error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800” erro...

2015-11-23 19:55:44

阅读数:1219

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭