
C/C++
文章平均质量分 76
FlyingBird_SXF
希望在优快云多多学习,利于工作
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何通过键盘输入整型数给枚举变量赋值
程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日七个数据元素组成的集合,由三种颜色红、黄、绿组成的集合,一个工作班组内十个职工组成的集合等等,程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为:{ Sun,Mon,Tue,Wed,Thu,Fri,Sat}原创 2014-11-20 20:44:09 · 5287 阅读 · 0 评论 -
再谈“0xC0000005读取写入位置冲突”——正确使用指针访问内存
转自:http://www.typecodes.com/cseries/pointermemaccess0xC0000005.html在前面一篇文章中,总结了错误使用指针指向一个字符串常量,然后对该字符串常量进行写入操作导致出错:“未经处理的异常:0xC0000005: 读取/写入位置发生访问冲突”。这篇文章继续使用指针来探索这个问题。1 测试程序:“异常: 0xC0000005:转载 2014-12-05 11:07:45 · 5625 阅读 · 0 评论 -
类的静态成员
类的静态成员不同于普通成员,它们有自己的特点,我将以下面的类为例讲解。//设计银行账户类Account#include #include class Account{private: std::string owner;//账户名 double amount;//余额 static double interestRate;//利率,static数据成员声明,此定义在原创 2014-12-23 09:27:09 · 657 阅读 · 0 评论 -
默认构造函数的常见问题
转自:http://www.cnblogs.com/gnuhpc/archive/2012/12/10/2811920.html【略有改动】什么是默认构造函数?默认构造函数(default constructor)是由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义,也就是说,它被调用时可以不传入任何实参。默认构造函数可以是用户自定义的,也可以是编译器产生的。请看下面转载 2014-12-23 11:12:40 · 837 阅读 · 0 评论 -
用文件结束符(Ctrl+Z)结束元素输入时不要忘记将流cin恢复为有效状态
有这样一个题目:通过标准输入给两个int型vector对象赋值。一开始,我的程序是这样的:#include #include using namespace std;int main(){ //通过键盘输入两个int型vector对象 vector ivec1,ivec2; int ival1,ival2; cout<<"输入多个整数给vector对象ivec1(以Ct原创 2014-12-09 11:33:04 · 1296 阅读 · 0 评论 -
C++复制构造函数和赋值操作符的区别
转自:http://blog.youkuaiyun.com/randyjiawenjie/article/details/6666937今天做C++ primer的习题,被复制构造函数和赋值符的区别弄晕了。简单地说,有一道题目如下描述:class t1;class t2 = t1;我先看见有一个等号,以为就是赋值符来做的,其实并不是这样的。做一个实验好了:#in转载 2014-12-24 21:11:27 · 779 阅读 · 1 评论 -
C++ Primer 6.12习题答案改正
题目:编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足以下条件的单词的输入位置:该单词的后面紧跟着再次出现自己本身,跟 踪重复次数量多的单词及其重复次数.输出重复次数的最大值,例如.如果输入是:how now now now brown cow cow则输出表明now这个单词出现了三次给出的答案程序如下://6.12.cpp原创 2014-12-08 17:35:23 · 831 阅读 · 0 评论 -
C++输出缓冲区刷新
转自:http://www.2cto.com/kf/201206/137894.html在c++中,io操作都是有io对象来实现的,每个io对象又管理一个缓冲区,用于存储程序读写的数据。只有缓冲区被刷新的时候缓冲区中的内容才会写入真实的文件或输出设备上。那么,什么情况下会刷新输出缓冲区呢,有如下五种情况:1.程序正常结束。作为main返回工作的一部分,将清空所有的输出缓转载 2014-12-10 19:28:18 · 618 阅读 · 0 评论 -
如何给main函数传递参数并执行
main函数的参数原创 2014-12-10 10:23:25 · 5352 阅读 · 0 评论 -
Visual C++下的unicode
转自:http://blog.sina.com.cn/s/blog_6fd2ddb4010115xo.html参考:UNICODE编程入门 C/C++对Unicode编码的处理一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是 255(00H—F转载 2014-12-11 10:31:52 · 637 阅读 · 0 评论 -
喜爱的网站及文章
网站1)伯乐在线:http://blog.jobbole.com/文章1)C++之父:C++ 的五个普遍误解原创 2014-12-24 21:29:38 · 579 阅读 · 0 评论 -
字符集合字符编码小结
分享一篇文章——《字符集合字符编码小结》,它详细介绍了字符编码的演变和现存状态,通俗易懂。地址:http://www.360doc.com/content/14/0723/18/9075092_396579407.shtml原创 2014-12-13 11:12:29 · 582 阅读 · 0 评论 -
this指针和 *this
我们都知道,类的成员函数有一个附加的隐形形参,即指向该类对象的this指针,它与调用成员函数的对象绑定在一起。那么,这个this指针究竟是什么样的指针呢?其解引用*this返回的又是怎样的一个对象呢?首先,我们以《C++ Primer》书中的Screen类为例说明,这个类只是简单声明,有些成员函数的具体实现没有定义。不必关注成员函数的实现,只需要看它的形式即可。//定义一个原创 2014-12-21 19:01:09 · 2081 阅读 · 0 评论 -
未经处理的异常:0xC0000005:读取/写入位置冲突——从去掉字符串所有空格说起
转自:http://www.typecodes.com/cseries/trimspace0xC0000005.html 在c/c++中,有时会遇到 c0xC0000005: 读取/写入位置冲突的问题。明明编译器编译通过,但是在执行的时候就出现 Segmentation fault(coredump) 了。该错误是由于内存访问出错引起的,最常见于指针的错误使用和数组越界等。下面是转载 2014-12-05 11:00:23 · 4751 阅读 · 0 评论 -
空指针和0、NULL之间的关系
空指针和0、NULL之间的关系1. 什么是空指针常量(null pointer constant)?英文定义:[6.3.2.3-3] An integer constant expression withthe value 0, or such an expression cast to type void *, is called a nullpointer const转载 2014-11-22 11:30:36 · 5795 阅读 · 0 评论 -
c++对象内存分配问题
如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。 我转载 2014-11-23 11:21:59 · 736 阅读 · 0 评论 -
C++中return语句的用法
C++中的return语句是函数中一个重要的语句,return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。return语句有两种形式:return;return expression;1、没有返回值的函数不带返回值的return语句只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的break语句的作用转载 2014-11-28 15:27:39 · 1358 阅读 · 0 评论 -
为什么要用基类指针指向派生类对象?
在基类与派生类之间,有一个规定:派生类对象的地址可以赋给指向基类对象的指针变量(简称基类指针),即基类指针也可以指向派生类对象。为什么有这一规定呢?因为它可以实现多态性【1】,即向不同的对象发送同一个消息,不同的对象在接受时会产生不同的行为。举例说明:#include using namespace std; class Shape {public: virtua原创 2014-11-21 21:29:11 · 6623 阅读 · 0 评论 -
C++全局变量的声明和定义
参考:http://wrchen.blog.sohu.com/71617539.html转自:http://blog.youkuaiyun.com/candyliuxj/article/details/7853938(1)编译单元(模块)在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将转载 2014-11-29 16:11:11 · 698 阅读 · 0 评论 -
ifstream没有ios::nocreate
今天在VS2010写了一个关于文件输入的小程序,但是在用ios::nocreate参数时,提示没有ios::nocreate成员,如下:原创 2014-11-24 18:35:53 · 5563 阅读 · 1 评论 -
C++文件输出输入
此篇文章只是简要介绍c++中文件输入输出的基本步骤,详细情况请看附加的链接1. 文件流和文件流对象1) 文件流Ø 文件流是以外存文件为输入输出对象的数据流。输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据。每一个文件流都有一个内存缓冲区与之对应。Ø 请区分文件流与文件的概念。文件流本身不是文件,而只是以文件为输入输出对象的流原创 2014-11-24 10:51:45 · 950 阅读 · 0 评论 -
C/C++中全局变量的那些事儿(
C/C++中的变量分为全局变量、静态全局变量、局部变量和静态局部变量,在《C/C++中静态局部变量的特点与应用》中我们介绍过静态局部变量,今天我们的目标是全局变量。单个文件中的全局变量 简单一点说,全局变量就是在函数外面定义的变量,下面是一个最简单的实例,一共定义了两个int型的全局变量a和b,这两个全局变量定义的位置不大相同,a定义在函数fun1之前,而b定义在之后,a和b转载 2014-11-29 10:57:35 · 743 阅读 · 0 评论 -
C++ Primer 9.35——循环遍历vector容器删除指定元素的标准写法
在做C++ Primer 习题9.35时,答案如下: #include #include #include using namespace std;int main(){ string str("This is an example"); for(string::iterator iter=str.begin();iter!=str.end();++iter) {原创 2014-12-17 16:30:07 · 1276 阅读 · 0 评论 -
C++ Primer 习题11.15分析
题目:算法标准库定义了一个名为unique_copy的函数,其操作与unique类似,唯一的区别在于:前者接受第三个迭代器实参,用于指定复制不重复元素的目标序列。编写程序,使用unique_copy将一个list对象中不重复的元素复制到一个空的vector容器中。原有答案如下:#include #include #include #include #include u原创 2014-12-20 14:13:59 · 792 阅读 · 0 评论 -
#pragma once
概述这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。#pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编原创 2014-12-05 17:20:42 · 536 阅读 · 0 评论 -
C++ Primer 消息处理示例
题目要求:C++ Priemer 消息处理示例: Message类和Folder类分别表示电子邮件(或其他)消息和消息所出现的目录,一个给定消息可以出现在多个目录中。Message上有Save和Remove操作,用于指定Folder中保存或删除消息。 对每个Message,我们并不是在每个Folder中都存放一个副本,而是是每个Message保存一个指针集(set),set中的指针指向给Mes原创 2014-12-25 10:58:14 · 858 阅读 · 0 评论