c++ Archive

  • 本文转自 http://blog.163.com/digoal@126/blog/static/163877040201571610166742/  比较详细地介绍了文件读写的几种机制,分析很到位。 [原文] 1. https://www.byvoid.com/blog/fast-readfile/ 2. http://blog.csdn.net/jwh_bupt/article/details/7793549 3. http://blog.csdn.net/jwh_bupt/article/details/8373063 [原文1]  在进行大规模数据处理时,读文件很有可能成为速度瓶颈。不管 […]

    从fread和mmap 谈读文件的性能

    本文转自 http://blog.163.com/digoal@126/blog/static/163877040201571610166742/  比较详细地介绍了文件读写的几种机制,分析很到位。 [原文] 1. https://www.byvoid.com/blog/fast-readfile/ 2. http://blog.csdn.net/jwh_bupt/article/details/7793549 3. http://blog.csdn.net/jwh_bupt/article/details/8373063 [原文1]  在进行大规模数据处理时,读文件很有可能成为速度瓶颈。不管 […]

    Continue Reading...

  • 这一段时间写博客的频率少了很多,一直在给实验室数据库写备份和恢复的功能,积攒了很多值得深入学习的点,之后会一一总结。这篇文章是选的课需要交一篇分析语言特性如何实现的结题报告,正好看完Inside the c++ object model 之后,就一直想总结一下c++是怎么实现面向对象的继承,多态等等特性的。这是上篇,主要分析类中的数据成员,也是主要部分,下篇介绍虚函数的实现情况。 c++ 与面向对象 传统的c语言是结构化程序设计语言的代表,由c语言完成的操作系统,数据库等大型软件如今仍然良好的运行在我们的电脑上。C语言效率高,更加接近底层,程序员在编程中可以掌握每一块内存,如何分配何时回收。c […]

    C++面向对象特性实现剖析 Data Member篇

    这一段时间写博客的频率少了很多,一直在给实验室数据库写备份和恢复的功能,积攒了很多值得深入学习的点,之后会一一总结。这篇文章是选的课需要交一篇分析语言特性如何实现的结题报告,正好看完Inside the c++ object model 之后,就一直想总结一下c++是怎么实现面向对象的继承,多态等等特性的。这是上篇,主要分析类中的数据成员,也是主要部分,下篇介绍虚函数的实现情况。 c++ 与面向对象 传统的c语言是结构化程序设计语言的代表,由c语言完成的操作系统,数据库等大型软件如今仍然良好的运行在我们的电脑上。C语言效率高,更加接近底层,程序员在编程中可以掌握每一块内存,如何分配何时回收。c […]

    Continue Reading...

  • 这半个月作业爆表,很多作业无甚意思,不做不行,做了浪费时间。于是尽量将作业写的有点内容,不至于应付差事,也不至于浪费时间。本文就是作业之一,要求写程序对比面向对象语言在增加了面向对象的特性之后,在时间上和空间上有什么变化。正好借此整理Inside the C++ object  model中的一些内容。 前言: 面向对象设计思想对于软件工程的意义非同一般,从结构化程序设计到面向对象,使得大型软件设计,开发,解耦,维护等等变得更加可操作。从语言层面上来讲,面向对象的设计方法仅仅是一个指导思想,并不一定要求拥有面向对象特性的语言才能实现。我想纯c的代码,也完全能够写出c++面向对象的效果。就是需要 […]

    面向对象之后增加的开销

    这半个月作业爆表,很多作业无甚意思,不做不行,做了浪费时间。于是尽量将作业写的有点内容,不至于应付差事,也不至于浪费时间。本文就是作业之一,要求写程序对比面向对象语言在增加了面向对象的特性之后,在时间上和空间上有什么变化。正好借此整理Inside the C++ object  model中的一些内容。 前言: 面向对象设计思想对于软件工程的意义非同一般,从结构化程序设计到面向对象,使得大型软件设计,开发,解耦,维护等等变得更加可操作。从语言层面上来讲,面向对象的设计方法仅仅是一个指导思想,并不一定要求拥有面向对象特性的语言才能实现。我想纯c的代码,也完全能够写出c++面向对象的效果。就是需要 […]

    Continue Reading...

  • C++使用四个新的转型操作符来代替传统C语言的转型方式: 1.static_cast<type>(expression) 最常用的一种转型方式,几乎与旧式的C语言拥有相同的转型威力与意义。如将int转换为double等,但不能将int转化为一个自定义的strut类型,因为本身就不符合这种转化方式。 2.const_cast<type>(expression) 针对对象的const特性提供的一种转型方式,用来去掉对象的const特性。如: class Base{}; class Derived:public Base{}; 定义一个子类一个父类,为了阅读方便,省略类的详细 […]

    最好使用c++转型操作符

    C++使用四个新的转型操作符来代替传统C语言的转型方式: 1.static_cast<type>(expression) 最常用的一种转型方式,几乎与旧式的C语言拥有相同的转型威力与意义。如将int转换为double等,但不能将int转化为一个自定义的strut类型,因为本身就不符合这种转化方式。 2.const_cast<type>(expression) 针对对象的const特性提供的一种转型方式,用来去掉对象的const特性。如: class Base{}; class Derived:public Base{}; 定义一个子类一个父类,为了阅读方便,省略类的详细 […]

    Continue Reading...

  • 最近使用string比较多,以前看的有忘记不少,此篇总结比较详细,特转来以备之后再忘记 任何人对本文进行引用都要标明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C […]

    c++ string 详解

    最近使用string比较多,以前看的有忘记不少,此篇总结比较详细,特转来以备之后再忘记 任何人对本文进行引用都要标明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C […]

    Continue Reading...

  • c++的template在遇到名称决议的时候,根据定义和实例化有两种不同的scope: scope of the template definition scope of the template instantiation 假设有一个模板定义在nameResolution.h文件中: extern double foo(double); template<class type> class ScopeRules{ public: void invariant() { member = foo(val); } type type_dependent() { return foo(m […]

    Name Resolution within a Template

    c++的template在遇到名称决议的时候,根据定义和实例化有两种不同的scope: scope of the template definition scope of the template instantiation 假设有一个模板定义在nameResolution.h文件中: extern double foo(double); template<class type> class ScopeRules{ public: void invariant() { member = foo(val); } type type_dependent() { return foo(m […]

    Continue Reading...