C++primer
文章平均质量分 53
EmberWn
初学者
展开
-
初始化(C++primer5th学习笔记)
初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。(P39) 1、默认初始化 (1)对于内置类型(int),定义在任何函数之外的变量被初始化为0,而定义在函数体内部则是未定义,不能对其进行访问。通过new生成的int类型对象也是未定义。 (2)对于类类型(string),由其默认构造函数初始化。 2、直接初始化和拷贝初始化 拷贝原创 2016-12-02 16:50:59 · 453 阅读 · 0 评论 -
文本查询程序(C++primer5th)
书上的一个比较简单的例题,可以输出文本中单词总共出现的次数,所在的行数及所在行的内容。主要的思路是创建一个vector来分行存储文本,然后将单词及单词出现行数(set)创建一个map。通过查询单词获得其映射的set。set的size为出现的次数,set的元素为出现的行数,通过set元素作为vector下标获得所在行内容。1、TextQuery.h#pragma once#include <fstr原创 2016-12-05 12:53:58 · 2242 阅读 · 0 评论 -
指针和const
1、指向常量的指针,这个类似于常量引用。不能用其改变所指对象的值。要想存放常量对象的地址,只能使用指向常量的指针。指向常量的指针并没有要求所指对象必须是常量,只是要求不能通过该指针改变对象的值。关于这点可以类比常量引用。 const double pi=3.14; const double *cptr=π double dval=3.14; cptr=&dval;2原创 2017-09-13 22:33:57 · 171 阅读 · 0 评论 -
文本查询程序再探(C++primer5th)
在文本查询程序的基础上添加了更多功能。 单词查询:查询单词出现的次数(一行出现多次只算一次),并打印出所在的行。 逻辑查询(~,&,|),支持混合使用这些运算符。 通过一个接口类Query隐藏整个实现的继承体系,同时被用户代码和类实现代码使用。这种做法可以将接口与实现分离,Query内存储一个指向实际实现类的指针。首先是文本查询程序中的原代码,只给QueryResult.hpp添加了新的成员函原创 2017-10-09 18:10:58 · 923 阅读 · 0 评论