
Travel in C++
Becken meine lernen
Xie_Yuchen
华中科技大学
展开
-
顶层与底层const
顶层与顶层const首先顶底层const这个概念一般来说是对指针来说的,因为对于指针变量而言,不仅有指针本身(所指变量的地址值),还有所指变量的值。而这个两个值都是可以进行限定const的。而对于一般的变量,只有一个变量的值所以最多只可以使用一个const限定。而如果用const限定这种非指针变量我们把这种const叫做顶层const。下面有简单到复杂逐步复习关于const的一些知识...原创 2019-11-09 23:23:35 · 266 阅读 · 0 评论 -
typedef在类模板中的使用
类模板与普通类:一些需要强调一下的知识:在一个类中使用另一个类的公有成员能够将另一个类作为返回值类型同样,普通的类可以做的事模板类也可以做。#include<iostream>using namespace std;struct A { int num;};class B { //这里给类A声明了一个别名。 //只要位于同样一个作用域中类之间的publi...原创 2019-11-07 19:50:45 · 4234 阅读 · 0 评论 -
C++泛型中的类模板参数
使用类参数的模板参数template<typename T>struct S_Tmp{ T a; void Show() { cout << "This is S_Tmp" << endl; }};template<template<typename S>class T>struct MyTest{ T&...原创 2019-11-07 17:33:22 · 473 阅读 · 0 评论 -
C++primer p248的运行实践
C++primer 第六版 p248的代码经过实际运行,有一些书上未提到的报错。Screen& display(ostream& os) { do_display(os); return *this; } const Screen& display(ostream& os) const { do_display(os); return *thi...原创 2019-09-08 22:24:39 · 134 阅读 · 0 评论 -
第八章IO库习题心得
函数istream参数的调用此处注意如何调用istream类型的参数#include<iostream>#include<string>using namespace std;istream& Func(istream&is) { string mm; while (is >> mm) cout << mm; is...原创 2019-10-02 15:32:33 · 176 阅读 · 0 评论 -
顺序容器Ⅱ
顺序容器概述容器名特点vector可变大小数组,支持快速随机访问。尾部之外的位置插入或删除元素速度很慢deque双端队列,支持快速随机访问。在头尾位置插入/删除元素速度很快list双向链表,只支持双向顺序访问。在list任何位置插入/删除速度都很快forward_list单向列表,只支持单项顺序访问。链表任何地方插入/删除速度都很快array...原创 2019-09-17 16:00:48 · 310 阅读 · 0 评论 -
IO库-C++Primer学习笔记
IO类的条件状态IO库定义了:iostate类型,提供表达流状态的完整功能4个 iostate类型的constexpr 值,用来表达特定的位模式。1.badbit :表示系统级错误(如不可恢复的错误),bad被置位流就无法使用。2.failbit:可修正的错误3.eofbit4.good:若goodbit值为0,表明流未发生错误。如果到达文件的末尾,eofbit和fail...原创 2019-09-11 12:48:24 · 268 阅读 · 1 评论 -
类的静态成员(static)总结
类的静态成员1.我们通过关键词static声明静态成员。静态成员有以下的特点:类的静态成员与类直接相关,而不是与类的各个对象保持关联。直接捆绑在类上,而不捆绑在对象上。所以静态成员不含this指针。不能绑定const2.定义静态成员静态成员由于不属于类的任意一个对象,所以不是在创建类的对象时被定义,即静态成员不通过构造函数初始化。一般来说,不在类内部初始化静态成员。下面以类Sc...原创 2019-09-09 15:47:54 · 1137 阅读 · 0 评论 -
隐式类型转换和explicit的使用
1.隐式类型转换首先什么时候会出现隐式类型转换:如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制。我们把这种函数称作转换构造函数。转换构造函数会自动生成一临时对象,然后传递给成员函数(供其使用)。下面给出了一些代码string bull_book="9-999-99999";item.combine(null_book);class Screen{sale...原创 2019-09-09 13:30:46 · 246 阅读 · 0 评论 -
const被丢弃报错的原因
这样写的时候,会出现这样的错误。Screen& dispaly(ostream& os) const { os << contents; return *this;}同样,这样写的时候也会出现int main() { const int a = 3; int &b = a;}可以这两者是相似的问题,那么我们来分析出错的具...原创 2019-09-08 21:35:03 · 3932 阅读 · 0 评论 -
学习类的一些注解
1.什么是接口?类的接口包括用户能执行的操作。对于类,我们说公共接口。公共(public)=使用类的程序;接口=编写类的人提供的方法->能够编写与类对象交互的代码,使程序能使用类对象。可以把接口认为是吸管,要喝到类里面的饮料(类中的各种数据),必须使用接口。即用户执行操作,不需要拆开瓶子接触饮料本身(接触数据成员等),就可以实现类的功能。2.什么是类的实现?类的实现...原创 2019-09-08 21:24:09 · 130 阅读 · 0 评论 -
函数的形参与实参
关于函数形参与实参的传递问题。实参形参在函数调用过程中完成。函数调用完成两个任务:用实参初始化形参以及将控制权转移给被调用的函数。那么实参是如何初始化形参的,下面写出一些代码进行检测。1.内置类型使用void change(int a, int b) { cout << &a << " " << &b << endl;}...原创 2019-09-08 21:14:34 · 1203 阅读 · 0 评论