C++
文章平均质量分 80
NickWei9999
这个作者很懒,什么都没留下…
展开
-
C++中 explicit显示转换
explicit 是避免构造函数的参数自动转换为类对象的标识符[cpp] view plain copy#include using namespace std; class A { public: explicit A(int a) { cout原创 2016-06-23 15:36:54 · 572 阅读 · 0 评论 -
C++标准库IO
C++标准库 之 iostream库的学习笔记(一)iostream库的介绍和istream,ostream类以及cin,cout对象c语言的标准输入输出库是stdio.h 是一个函数库而不是类库。其中包括了我们最常使用的scanf printf 都是一些独立的全局函数,因为C语言是不支持类的。c++的标准输入输出库iostream 是一个类库,以类的形式组织,使用该原创 2016-10-14 11:06:29 · 568 阅读 · 0 评论 -
智能指针auto_ptr详解
1. 智能指针auto_ptr的引入auto_ptr是C++标准库中的智能指针模板类,头文件auto_ptr的出现,主要是为了解决“有异常抛出时发生内存泄漏”的问题。如下的简单代码是这类问题的一个简单示例。int* p = new int(100);try{ doSomething(); cout endl; delete p;}c原创 2016-10-25 09:08:27 · 1190 阅读 · 0 评论 -
c++11改进我们的程序之垃圾回收
c#和java中有自动垃圾回收机制,.net运行时和java虚拟机可以管理分配的堆内存,在对象失去引用时自动回收,因此在c#和jva中, 内存管理不是大问题。c++语言没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会内存泄露。 我相信大部分c++开发人员都遇到过内存泄露的问题,而查找内存泄露的问题往往要花大量的精力。要解决这个让人头疼的问题可 以采取一些办法,最有效的办法是使用转载 2016-10-25 21:02:46 · 412 阅读 · 0 评论 -
C++11特性:decltype关键字
decltype简介我们之前使用的typeid运算符来查询一个变量的类型,这种类型查询在运行时进行。RTTI机制为每一个类型产生一个type_info类型的数据,而typeid查询返回的变量相应type_info数据,通过name成员函数返回类型的名称。同时在C++11中typeid还提供了hash_code这个成员函数,用于返回类型的唯一哈希值。RTTI会导致运行时效率降低,且在泛型编程原创 2016-10-26 10:08:41 · 338 阅读 · 0 评论 -
C++11智能指针之unique_ptr
1. 智能指针概念智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理2. unique_ptr概念unique_ptr“唯一”拥有其所指对象,同一时转载 2016-10-26 10:09:46 · 372 阅读 · 0 评论 -
C++ 内存池 -- C++ Memory Pool
这是我翻译的文章,来自 Code Project,原文作者: DanDanger2000. 原文链接: http://www.codeproject.com/cpp/MemoryPool.aspC++ 内存池l 下载示例工程 – 105Kbl 下载源代码 – 17.3Kb目录l 引言l 它怎样工作转载 2016-10-26 10:24:44 · 419 阅读 · 0 评论 -
浮点数环境 cfenv(fenv.h)
在编写高精度浮点运算程序时,需要对浮点环境进行控制并捕获浮点环境异常。cfenv头文件定义了对浮点环境控制及异常相关的函数和宏。注记 FENV_ACCESS#pragma STDC FENV_ACCESS on //设置该参数表示可以访问浮点运算异常的状态值#pragma STDC FENV_ACCESS off //设置该参数表示禁止访问浮点运算异常的状态值翻译 2016-09-30 10:32:53 · 1304 阅读 · 0 评论 -
iostream流库
在C++的iostream流库中,存在着两个基本部分。分别是: 1. 流:C++把输入和输出看作字节流。输入时,程序从输出流中抽取字节;输出时,程序将字节插入到输出流中。流充当了程序和流源或者流目标之间的桥梁。 2. 缓冲区:缓冲区是用作中介的内存块,它是将信息从设备传输到程序或者从程序传输到设备的临时存储工具,用以匹配程序和设备之间速度的差距。从设计上说,增加了缓冲区原创 2016-10-16 11:17:32 · 615 阅读 · 0 评论 -
C++异常(exception)第一篇--综合讲解
摘要:catch(exception &ex)是捕获所有标准库定义中的类std:exception;catch(...)则是捕获所有的异常。1.简介 异常是由语言提供的运行时刻错误处理的一种方式。提到错误处理,即使不提到异常,你大概也已经有了丰富的经验,但是为了可以清楚的看到异常的好处,我们还是不妨来回顾一下常用的以及不常用的错误处理方式。C转载 2016-10-27 14:30:44 · 1069 阅读 · 0 评论 -
C++异常第二篇---C++标准库异常类exception的使用
1 继承图示 2 具体讲解 C++标准库异常类继承层次中的根类为exception,其定义在exception头文件中,它是C++标准库所有函数抛出异常的基类,exception的接口定义如下:namespace std { class exception { public:转载 2016-10-27 14:31:52 · 1521 阅读 · 0 评论 -
Standard C 语言标准函数库速查 (Cheat Sheet)
Standard C 语言标准函数库速查 (Cheat Sheet)tmpnam 函数说明函数名: tmpnam 功 能: 创建一个唯一的文件名 用 法: char *tmpnam(char *sptr); 程序例: #include int main(void) { char name[13]; tmpna转载 2016-10-08 15:17:35 · 1789 阅读 · 0 评论 -
istringstream、ostringstream、stringstream 类介绍
0、C++的输入输出分为三种:(1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 1、头文件[cpp] view plaincopyprint?#include 2、作用istringstream类用于执行C++风格的字符串流的输入操原创 2016-10-20 17:31:08 · 270 阅读 · 0 评论 -
C++11 标准新特性: 右值引用与转移语义
新特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面:消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。能够更简洁明确地定义泛型函数。原创 2016-11-14 17:02:07 · 761 阅读 · 0 评论 -
C++11新特性学习笔记
第一部分:核心语言的特性一. 右值引用,move语义,完美转发1. 左值(lvalue)和右值(rvalue)的概念c++11引入一种新式引用,名曰右值引用,语法:Type&& , const Type&&,区别于之前的&标示的左值引用。为理解右值引用,先要理解左值和右值的概念。左值,在表达式中,表达式结束时候不会消失,如:obj , *ptr , ptr[in转载 2016-11-14 21:10:47 · 455 阅读 · 0 评论 -
C++中的Lambda表达式详解
一直都在提醒自己,我是搞C++的;但是当C++11出来这么长时间了,我却没有跟着队伍走,发现很对不起自己的身份,也还好,发现自己也有段时间没有写C++代码了。今天看到了C++中的Lambda表达式,虽然用过C#的,但是C++的,一直没有用,也不知道怎么用,就可怜的连Lambda语法都看不懂。好了,这里就对C++中的Lambda进行一个简单的总结,就算是对自己的一个交代,我是搞C++的,我是一个C+翻译 2016-12-14 09:49:18 · 41108 阅读 · 16 评论 -
C++ 内存分配allocator类
new有一些灵活性的局限,其中一方面表现在它将内存分配和对象构造组合在了一起。类似的,delete将对象析构和内存释放组合在了一起。我们分配单个对象时,通常希望将内存分配和对象初始化组合在一起。因为在这种情况下,我们几乎肯定知道对象应有什么值。当分配一大块内存时,我们通常计划在这块内存上按需构造对象。在此情况下,我们希望将内存分配和对象构造分离。这意味着我们可以分配大块内存,但只在真正需要原创 2016-10-24 17:41:56 · 6129 阅读 · 2 评论 -
有关TinyXML使用的简单总结:来解析XML数据
这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。 该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML) TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从原创 2016-10-24 13:37:31 · 2442 阅读 · 2 评论 -
istream_iterator、ostream_iterator 使用初探
标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入。使用这两个iteratorclasses之前,先得含入iterator头文件:#include现在让我们看看如何利用istream_iterator从标准输人装置中读取字符串。就像所有的iterators一样我们原创 2016-09-27 11:14:35 · 437 阅读 · 0 评论 -
孙鑫视频VC++深入详解学习笔记(全)
Lesson1: Windows程序运行原理及程序编写流程窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与Lessonecl调用规范的比较,初学者常犯错误及注意事项。1. Windows API与Win32 SDK操作系统提供了各种方便开发Windows应用程序的编程接口,所的函数都在Win翻译 2016-07-05 16:08:21 · 12772 阅读 · 1 评论 -
STL map常用操作简介
1。目录map简介map的功能使用map在map中插入元素查找并获取map中的元素从map中删除元素2。map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。3。map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类原创 2016-08-30 07:26:32 · 318 阅读 · 0 评论 -
C++引用的实质
在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么你休想构造出任何可执行程序来。但如果真正到了产生可执行代码阶段,无论是c,c++,还是pascal,大家都一样,你认为c和c++编译器产生的机器代码会有所不同吗,你认为c++产生的机器代码会有访问限制吗?那么你错了。什么c转载 2016-08-30 09:27:14 · 466 阅读 · 0 评论 -
size_t类型总结
1、sizeof返回的必定是无符号整形,在标准c中通过 typedef 将返回值类型定义为size_t. 若用printf输出size_t类型时,C99中定义格式符%zd;若编译器不支持可以尝试%u或%lu. sizeof,获取操作数占用的内存空间字节数,返回类型size_t; strlen,获取字符数组实际使用的字节数,不包含数组结尾符’\0’,返回类型size_t。2、它是转载 2016-08-30 09:40:35 · 15188 阅读 · 1 评论 -
C++ 虚函数表解析
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]前言虚函数表一般继承无虚函数覆盖一般继承有虚函数覆盖多重继承无虚函数覆盖多重继承有虚函数覆盖安全性结束语附录一VC中查看虚函数表附录 二例程C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的转载 2016-09-14 20:57:43 · 179 阅读 · 0 评论 -
C++ 对象的内存布局(上)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]前言对象的影响因素知识复习单一的一般继承多重继承C++ 对象的内存布局(上) 陈皓http://blog.csdn.net/haoel 点击这里查看下篇>>>前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有转载 2016-09-14 21:28:23 · 189 阅读 · 0 评论 -
C++ 对象的内存布局(下)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]重复继承钻石型多重虚拟继承结束语 C++ 对象的内存布局(下) 陈皓http://blog.csdn.net/haoel <<<点击这里查看上篇 重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。转载 2016-09-14 21:29:00 · 178 阅读 · 0 评论 -
模板的全特化与偏特化
模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。先看类模板:[cpp] view plain copytemplatetypename原创 2016-09-17 15:35:02 · 269 阅读 · 0 评论 -
Effective C++和More Effective C++
More Effective C++读书笔记条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是指向一个对象且一旦指向一个对原创 2016-08-26 16:13:45 · 1811 阅读 · 0 评论 -
数组名a和&a的区别
这里我们先看看数组名代表的是什么,这个概念可能大家有所误解,认为数组名代表的就是数组的地址,当然,数组名代表的是一个地址,但是关键是,通过这个地址,我们关注的是它能取得多大空间的数据的值,例如对于一个char 类型的地址,我们能够取得一个字节的值,对于一个int型的地址,我们能够取得4个字节的值。 这里我们以整形数组为讲解:int a[4]; a是一个地址,我们知道a其原创 2016-09-20 09:02:09 · 380 阅读 · 0 评论 -
C++:STL标准入门汇总
第一部分:(参考百度百科) 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。转载 2016-09-07 09:19:22 · 557 阅读 · 0 评论 -
C语言标准库(了解)
[+]概述 C语言函数手册也称为C标准库。C标准库由在15个头文件中声明的函数、类型定义和宏组成,每个头文件都代表了一定范围的编程功能。有人说,C标准库可以分为 3 组,如何正确并熟练的使用它们,可以相应的可区分出 3 个层次的程序员:合格程序员:、、、熟练程序员:、、、优秀程序员:、、、、、、一,里的数学计算公式介绍原创 2016-10-09 16:29:30 · 8005 阅读 · 0 评论 -
strtok函数的使用注意事项
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]strtok函数的使用注意事项1. 函数原型及其基本应用 strtok函数是用来分解字符串的,其原型是:[cpp] view plain copychar *strtok(char str[], const转载 2016-10-09 17:28:16 · 1654 阅读 · 0 评论 -
字符串基本操作集锦
字符串基本操作集锦所有C语言标准库支持的字符串操作都在string.h中,这个文件在/usr/include/下。确切的说,这个文件还包含对数组的访问。所包含的函数分为以下几类:复制、连接、比较、查找等。Table of Contents1 复制2 连接3 比较4 查找5 其他函数6 strtok函数的实现1 复制原创 2016-10-09 17:32:09 · 1630 阅读 · 0 评论 -
C++中SYSTEM的用法
曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必须要搞懂system()函数,因为还是有很多人用了system()函数,有时你不得不面对它转载 2016-10-09 21:18:50 · 31225 阅读 · 0 评论 -
linux常用命令的英文单词缩写
命令缩写:ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径ps: process status(进程状态,类似于windows的任务管转载 2017-01-03 20:34:23 · 783 阅读 · 0 评论