C++
stopBL
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用istream对象作为条件
使用istream对象作为条件,如 while(cin>>a)效果是检测流的状态:如果流是有效的,即未遇到错误,则检测成功;当遇到文件结束符(eof或windows中的Ctrl+Z)或遇到一个无效输入时(例如读入类型不匹配),istream对象的状态会变为无效。原创 2017-08-18 23:04:20 · 852 阅读 · 0 评论 -
头文件的包含规则(尖括号和引号的区别)
在C++头文件中,经常会看到有些头文件使用尖括号有些使用双引号,如: #include #include "stdafx.h" 其中,尖括号用于包含标准库的头文件,一般没有.h后缀,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找。双引号一般用于包含用户自己编写的头文件,通常含有.h后缀,编译器会先在项目的当前目录查找,找不到后才会去系统配置的库原创 2017-08-18 23:19:11 · 3915 阅读 · 0 评论 -
默认初始化规则
内置类型的变量未被显式初始化,它的值由定义的位置决定。定义于任何函数体之外的变量被初始化为0,定义于函数体内部的内置类型变量将不被初始化,会具有未定义的值。 每个类各自决定其初始化对象的方式,而是否允许不经初始化就定义对象也由类自己决定。即类的对象如果没有显式的初始化,则其值由类确定,如string类规定如果没有指定初值则生成一个空串。原创 2017-08-18 23:39:04 · 533 阅读 · 0 评论 -
运算符求值顺序
有四种运算符明确声明了运算对象的求值顺序:&&、||、?:、,。 1. 与运算符&&(短路求值) 先求左侧运算对象,左侧为真时再求右侧运算对象。 2. 或运算符||(短路求值) 和&&运算符类似,先求左侧运算对象,左侧为假时再求右侧运算对象。 3. 条件运算符cond?expr1:expr2 先求cond,若为真对expr1求值并返回该值原创 2017-08-20 02:18:50 · 1191 阅读 · 0 评论 -
变量的声明与定义
变量声明规定了变量的类型和名字,声明使得名字被程序所知。 定义负责创建与名字关联的实体,申请存储空间或为变量赋初值。 如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显式的初始化变量。 变量能且只能被定义一次,但可以被声明多次。原创 2017-08-20 02:12:43 · 379 阅读 · 0 评论 -
拷贝控制函数
拷贝控制包括控制对象的拷贝、移动、赋值和销毁。类通过定义五种特殊的成员函数来控制这些操作,包括:拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数。本节主要介绍拷贝构造函数、拷贝赋值运算符和析构函数。 1. 直接初始化与拷贝初始化什么是直接初始化,而什么又是拷贝初始化呢?简单点来说,就是定义对象时的写法不一样,一个用括号,如ClassTest ct1("原创 2017-08-19 22:10:02 · 519 阅读 · 0 评论 -
虚函数之析构函数和构造函数
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。 不建议在构造函数和析构函数里面调用虚函数。 1. 析构函数 大家都知道,当我们delete一个动态分配的对象的指针时将执行析构函数,如果该指针指向继承体系中的某个类型,则有可能出现指针的静态类型与被删除对象的动态类型不符的情况,这种情况下,编译器就必须清楚它应该执行哪原创 2017-08-28 23:32:00 · 679 阅读 · 0 评论 -
C++输入cin详解
原贴地址:http://www.cnblogs.com/A-Song/archive/2012/01/29/2331204.html输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会转载 2017-09-17 14:45:49 · 575 阅读 · 0 评论
分享