重温C++——IO库

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

- 阅读全文 -

微信公众号

随机文章

最近回复

  • repostone: 非技术的路过。
  • NYC: 确认一下你配置的调度策略是Fair,而不是Capacity,不要...
  • NYC: 这个没问题,我文章里面说的是策略,配置的时候是通过CDH配置的。...
  • 一方: 但是我的action队列抢占了资源,导致action不能并行,难...
  • NYC: 是的,不管是哪个队列,队列内部只要有资源够action/lanu...
  • 一方: 老铁,我想问下,你分配好队列,然后固定了lancher队列的am...
  • 一方: https://blog.csdn.net/bigdatapri...
  • NYC: 1,我的解决方案是不可能完全杜绝死锁的,我目前也没有发现比较好的...
  • 一方: 老铁你好!看了下你的解决方案,感觉还是无法解决死锁的问题啊,假如...
  • luke: **感谢分享**

分类

标签