
C++
文章平均质量分 79
Sunny04
生命不息,折腾不止
展开
-
c++中的explicit关键字
c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class MyClass{public:MyClass( int num );}.转载 2014-05-29 19:15:45 · 733 阅读 · 0 评论 -
浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
转自: http://blog.youkuaiyun.com/cowbane/article/details/6630298 首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和转载 2015-07-31 13:54:32 · 667 阅读 · 0 评论 -
C++四个新的类型转换操作符
C++通过引进四个新的类型转换操作符克服了C风格类型转换的缺点,这四个操作符是:const_cast( expression)dynamic_cast( expression)static_cast( expression)reinterpret_cast( expression) 在大多数情况下,对于这些操作符你只需要知道原来你习惯于这样写:(type) expres原创 2015-07-20 11:17:08 · 865 阅读 · 0 评论 -
封装printf函数,让log可以打印文件名和行号
///////////////////////////////////////////////////////////////////////////////// Printf\033[0m 關閉所有屬性\033[1m 設置高亮度\033[4m 下劃線\033[5m 閃爍\033[7m 反顯\033[8m 消隱\033[30m -- \033[37m 設置前景色原创 2015-07-30 09:53:42 · 3675 阅读 · 0 评论 -
转:线程池原理及创建(C++实现)
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池 目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器转载 2015-07-18 23:07:32 · 581 阅读 · 0 评论 -
推荐!国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template L转载 2014-10-24 10:16:42 · 1261 阅读 · 0 评论 -
C语言如何实现继承和多态,写的very nice
参考文档:http://wenku.baidu.com/link?url=__eqnzeJtbjgbOiy0U9SuKEZfUGVk0OVTbOCAbAMkGZMvT1R7YM7FcN03n9sIeMoSCSQ4DwJPCbEfCS0pdL6Dj5NTrnls8kTdAhvfmIdCmG转载 2015-04-17 18:13:07 · 519 阅读 · 0 评论 -
(遇到的一个问题)空指针引用, 是可以改变这个指针所指内容的。
空指针引用可以传递值今天写代码,碰到一个 空指针引用可以传递值 。 想了很久,终于想通了。代码如下:void insert( int* &par){ par = new int(5); //可以把存储5的地址传出去}int *p = NULL;insert(p);//数组某个元素,取地址, 这个地址变量是不能原创 2014-12-10 21:30:02 · 2041 阅读 · 0 评论 -
Name Mangling in C++
转自: http://hipercomer.blog.51cto.com/4415661/855223Name Mangling(C++)Author: Chaos LeeDate: 2012/05/06摘要:详细介绍了C++中的Name Mangling的原理和gcc中对应的实现,通过程序代码和nm c++filt等工具来验证这些原理。对于详细了解程序的链接过程有转载 2014-12-06 19:38:21 · 616 阅读 · 0 评论 -
深度探索C++对象模型
学习《 C++对象模型》 侯捷著第一章 关于对象1. C程序员的巧计有时候会成为C++程序员的陷阱。 例如把单一元素的数组,放在一个struct的尾端,于是每个struct objects可以拥有可变大小的数组:struct mumble{ int nTypes; char pc[1];};struct mumble *原创 2014-11-25 17:36:11 · 898 阅读 · 0 评论 -
C++对象模型
拷贝自: http://www.cnblogs.com/skynet/p/3343726.html 【吴秦(Tyler)】C++对象模型何为C++对象模型?C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分2. 对于各种支持的底层实现机制语言中直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数转载 2014-12-03 18:04:52 · 968 阅读 · 0 评论 -
C++ - 对象模型之 构造和析构函数都干了什么
转自: http://blog.youkuaiyun.com/gykimo/article/details/8629896C++ - 对象模型之 构造和析构函数都干了什么我们知道,编译器背着我们做了很多其他的事情,这些事情最为复杂的就是构造函数、拷贝构造函数和析构函数。本部分主要分析,编译器给构造函数、析构函数等都增加了什么功能。构造和析构函数无继承转载 2014-11-27 17:15:56 · 1024 阅读 · 0 评论 -
C/C++ 数组
转自: http://www.cnblogs.com/zhuyf87/archive/2013/02/03/2890927.html数组形参会被弱化为指针,所以处理数组的函数通常通过指向数组中元素的指针来处理数组。// three equivalent definitions of printValuesvoid printValues(int *) { /* …原创 2014-12-08 21:42:18 · 665 阅读 · 0 评论