重温C++——IO库

1. 概述为了概览一下C++的IO库,先来张cplusplus.com网站的图片:从这个图片我们基本上可以得到C++ IO库的所有基本信息:头文件、类、继承关系。为了更清楚的看出各个类的继承关系,我根据上面的图重新画了一个:从上面两个图可以看出,C++的IO都是流式的,主要分为三大类:普通流、文件流、字符串(string)流。这三大类的流各有各的特点,但也有许多共性,我们先来看一些共性。1....

C++类中的static成员

本文讨论C++类中的static成员的一些特性。我们知道静态成员的特点事它只属于类本身,不属于类的任何一个对象。在类加载的时候就初始化了。那么由这一个特性我们可以得出很多其他的一些特性:1, 调用方式方面的特点。我们调用静态成员的时候,不需要依赖于一个具体的类对象(当然也可以用对象去调用静态成员),可以直接用“类名::静态成员”这种方式去调用。2, 没有this指针。我们知道C++的每个类都...

Top-Level和Low-Level const

关于const,之前已经在多篇博客里面有介绍过了。我们知道const本身的含义很简单,就是被它修饰的对象不可以改变。但是,当他和指针或是引用一起使用的时候,我们往往比较难区分到底是指针(或引用)本身是const的,还是它所指向的对象是const的。最近读《C++ Primer》英文第五版的时候,发现了一个新的术语——Top-Level const和Low-Level const,他对于我们理...

C/C++中如何选择基本数据类型

《C++ Primer》中对于如何选择我们要使用的类型给出了四条建议:如果你知道变量不可能是负值的话,就使用无符号类型。在整数运算中尽量选择int类型,而不是short,因为short一般太小了;在实际中,long一般都是和int是一样长的,所以如果你的数据超出了int能表示的范围,就直接使用long long,而不是long。在算术表达式中不要使用不带符号修饰符的char类型,因为char...

C++标准I/O返回值问题

这里以标准输入流cin为例。首先cin是一个对象,不会“返回”值,>>和<<才是方法,具有返回值。>>和<<操作符的运算顺序是从左向右,所以下面两种语句描述其实是一致的:cin >> a >> b >> c; (((cin >> a) >> b) >> c)操作cin &...

C++的const成员函数和this指针以及mutable关键字

成员函数是类的一部分,其定义与普通函数一样,没有特殊之处。但是需要注意以下一些特点: 编译器隐式的将在类内部定义的成员函数当做内联函数(不管有没有使用inline关键字)。 在成员函数的声明或定义处指定inline关键字都是合法的。 类的成员函数可以访问该类的private成员。 使用类的对象来调用类的成员函数,如果是静态成员函数,还可以使用类名加::符号来调用。 成员函...

重温C++的指针和引用

C++和C一个不同的地方就是引入了引用(reference)这个概念,而且引用很容易和指针混淆。1. 指针C++中保留了指针,但其使用与C中是完全一样的,没有新增特性。所以这里不再赘述,只说一些使用时的注意点。更详细的内容可以看我的另外一片博客《解读C指针》。(1)每个指针都有一个与之关联的数据类型,该数据类型决定了指针所指向的对象的类型。(2)一个有效的指针必然是下面三种状态之一: 保...
站点总览
  • 文章总数:290篇
  • 分类总数:11个
  • 评论总数:462条
  • 运行时间:7年16天
最近评论
z前面有一点点小疑问~默认1s的是refresh~
Michael翔哈哈哈,希望将来有机会学习学习你的「养娃体系1.0」和「理财体系1.0」
蟋蟀只是在本地测试,我生成的镜像名称叫flink:1.12.0-scala_2.12-java8,...
蟋蟀application模式下提交任务成功后,之前起client作用的在集群端运行的应用实例会一...
蟋蟀我在mac机器上安装好了minikube,并按照上述步骤成功构建了flink 1.12版本的d...
刘小新感谢作者的无私奉献,收获很大∠( ᐛ 」∠)_
刘小新给作者的辛苦劳动点个赞!
刘小新作者Lucene系列讲的真是太好了,佩服!!!
Peter大佬,能否加个友链呢?向您学习的
Michael翔虽然看似基础,但是深入研究并不简单,赞~PS:最后的「##总结」,语法应该少了个空格啦~