友元函数与友元类

面向对象编程的一个重要思想就是实现数据隐藏(类的封装特性),即:非成员函数不能访问private 或者 protected 变量。有些时候我们需要不经成员函数而访问private 或者 protected数据,那就需要用到 友元函数 或者友元类。1. 友元函数使用 friend 关键字在类内任意位...

2017-08-31 12:11:49

阅读数:632

评论数:0

有符号整数的表示范围

结论: n比特有符号整数的表示范围为 \(-2^{n-1} ~ 2^{n-1}-1\)

2017-08-26 14:10:33

阅读数:855

评论数:0

C++ 类型转换

隐式类型转换 1 数值类型转换 2 指针类型转换 显式类型转换 1 explicit关键字 1 强制类型转换 11 static_cast 12 dynamic_cast 13 const_cast 14 reinterpret_cast 参考资料 C++类型转换大体上包括隐式类型转换和显式类型转...

2017-08-17 19:03:25

阅读数:456

评论数:0

C++ virtual关键字

之前始终没有搞清楚C++中 “virtual” 关键字的用法。 静态函数可以声明为虚函数吗 构造函数可以为虚函数吗 析构函数可以为虚函数吗 虚函数可以为私有函数吗 虚函数可以被内联吗 纯虚函数与抽象类

2017-08-14 19:25:02

阅读数:1506

评论数:0

指针与引用

(1)指针 = 地址,引用 = 别名指针描述的是数据在内存中的存储地址;引用相当于给数据起了一个别名,但其内存地址一样。

2017-08-13 15:59:42

阅读数:335

评论数:0

C++ 内联函数inline

1. 内联函数的作用inline 2. 内联函数的实现 3.内联函数的优缺点 4.内联函数的应用场景 5 内联函数与宏的区别

2017-06-26 10:12:11

阅读数:1351

评论数:0

static关键字

static关键字的介绍主要从以下几个方面进行:1. 静态局部变量 2.静态全变量 3.静态函数 4.静态类成员变量 5.静态类成员函数

2017-05-28 10:51:23

阅读数:698

评论数:2

C/C++的四大内存分区

本文转载自Dablelv的博客专栏http://blog.csdn.net/k346k346/article/details/45592329正确的理解C/C++程序的内存分区,是合格程序猿的基本要求。 网络上流形两大版本内存分区,分别为:1. 五大内存分区:堆、栈、全局/静态存储区、自由存储...

2017-05-27 21:43:57

阅读数:707

评论数:0

STL-Vector内存机制

vector可以看作是一个动态数组,其内存是连续的,并具有以下特性:(1) vector中的size表示当前实际数据数量,capacity 则表示当前可容纳的数量,即已开辟的内存。(2) 释放(pop_back)、删除(erase) 和 清空(clear) 只会改变size,不会改变capacit...

2017-05-27 20:38:40

阅读数:687

评论数:0

C++ 类访问控制

最近在使用C++创建类的时候,忽然发现自己对于类访问控制 public,protected,private 的作用没有理解透彻,后来就查了些资料,这里以作记录。访问控制C++类的重要属性就是封装和继承。因此,最关键的问题就是权限 的问题,public,protected,private 控制的就是...

2017-04-02 22:54:09

阅读数:715

评论数:0

C++ 将文件数据一次性加载进内存

问题: 早先写了一个目标检测SDK,里面有从bin文件加载模型和从内存加载模型两个接口。后来遇到了级联检测,即有多个bin模型文件,当想要把多个bin文件合并成一个的时候,发现对应的加载接口也得变。解决: 为了不改变接口,采用了下面的解决思路

2017-03-27 14:50:32

阅读数:1291

评论数:0

VS运行时库

本文主要讲述VS运行时库: 1 运行时库的主要作用 MTMTdMDMDdMLMLd 已废弃的区别与原理 如何避免这种错误 1 MD和MDd将是潮流所趋 2 在多工程开发时所有的工程使用同一种运行时库 历史发展的角度讲解运行时库 1 从操作系统的角度出发 2 从语言的角度在Windows下进行

2017-02-21 19:27:09

阅读数:2202

评论数:0

浮点数表示

浮点数表示 浮点数的规格化表示 浮点数的表示范围 浮点数的表示精度 参考资料 之前的一些工作当中碰到了很多有关浮点数的问题,比如浮点数的表达范围、表达精度、浮点数的存储方式、浮点数的强制类型转换等等,因此感觉有必要系统了解一下有关浮点数的问题。 ———————...

2016-12-22 15:00:17

阅读数:5557

评论数:0

C++ Map常见用法说明

C++中map提供的是一种键值对容器,里面的数据都是成对出现的,如下图:每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值。一. 声明//头文件 #include<map>map<int, string> ID_Name...

2016-11-10 15:07:36

阅读数:47735

评论数:4

C++ 宏定义

———————— #define基本用法 ————————#define命令是C语言中的一个宏定义命令,它用来将一个标识符(宏名)定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。程序编译之前,编译的时候所有的宏名都会被定义的字符串替换,这便是宏替换。理解宏定义的关键在于 “替...

2016-10-19 16:28:04

阅读数:3633

评论数:0

C++ RGB转灰度图像

RGB转灰度,通常会使用下面的一个心理学公式:(opencv和matlab中使用的也是该公式)Gray = 0.2989*R + 0.5870*G + 0.1140*B抛却指令优化不谈,优化转化速度的最直接方法就是将浮点运算转化为整数运算:比如我们可以将上式转化为:Gray = (2989*R +...

2016-10-04 14:17:33

阅读数:4007

评论数:0

c++ ——排序并保留索引

C++自带的排序函数sort只能获得排好序的值,没办法像Matlab一样同时返回排序索引。下面使用c++11中的 lambdas来为sort函数添加一个模式:template <typename T> vector<size_t> sort_indexes(const ve...

2016-09-30 17:53:05

阅读数:3529

评论数:0

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