istream不是std的成员】的更多相关文章

如果报错信息为:istream不是std的成员,那么有两种可能 1.没有包含iostream库文件 2.#ifndef 和#endif使用错误,致使包含的iostream的头文件没有被主函数包含…
VS2012 出现如下错误: error C2039: "bind2nd": 不是"std"的成员     头文件中加上 #include <functional>…
今天想起电脑上的vs2015,发现好久没用了,用了下,遇到了一个问题 由于不常用c++,还是觉得应该记录下来,以免下次遇到,不知怎么处理 新建项目Hello Hello.cpp #include "stdafx.h" int main() { std::cout << "hello world!I'm C++." << std::endl; system("pause"); ; } debug时出现 严重性 代码 说明 项…
前言 这是改造前一篇 设计模式 的基础,使通知者不必知道观察者的类名和函数名,只需要知道更新函数的原型即可. 开发环境:WIN7 32位 + VS2010 发现在VS2005中使用std::funtion报错: 错误 1 error C2039: “function”: 不是“std”的成员 e:\vsprojectsforvms\designpattern\observer2\observer2.cpp 123 于是改为VS2010来写. #include "stdafx.h" //…
C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)  一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag 过于简单,只提供了 test_and_set 和 clear 两个 API,不能满足其他需求(如 store, load, exchange, compare_exchange 等),因此本文将介绍功能更加完善的 std::atomic 类. std::atomic 基本介绍 std::atomi…
一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.setfill.setprecision.hex.oct等. (一).常用的流操纵算子: (二).ios类的枚举常量  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3…
一.构造函数初始化列表 推荐在构造函数初始化列表中进行初始化 构造函数的执行分为两个阶段 初始化段 普通计算段 (一).对象成员及其初始化  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40   #include <iostream> using  namespace std; class Object…
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::packaged_task 类,本文主要介绍 std::future,std::shared_future 以及 std::future_error,另外还会介绍 <future> 头文件中的 std::async,std::future_category 函数以及相关枚举类型. std::future…
普通函数指针:  "return_type (*ptr_name)(para_types) " 类成员函数指针: "return_type (class_name::*ptr_name)(para_types)" 类数据成员指针: "type class_name::* ptr_name"; C/C++: class Demo { public: Demo():data() { } int data; int show(int a,int b)…
一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.setfill.setprecision.hex.oct等. (一).常用的流操纵算子: (二).ios类的枚举常量  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3…
一.构造函数初始化列表 推荐在构造函数初始化列表中进行初始化 构造函数的执行分为两个阶段 初始化段 普通计算段 (一).对象成员及其初始化  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40   #include <iostream> using namespace std; class Object {…
std::cerr  标准错误输出流 std::cout 标准输出流 std::cerr 与 std::cout的最大不同是 cerr 是 不带输出缓冲 的,直接就可以输出到显示器上, 而 cout 是 带输出缓冲 的 , 需要刷新缓冲区才能输出. 使用 "std::cerr" 之前,需要加入   #include <iostream> 否则,会出现如下错误描述:        error C2039: “cerr”: 不是“std”的成员        error C20…
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::packaged_task 类,本文主要介绍 std::future,std::shared_future 以及 std::future_error,另外还会介绍 <future> 头文件中的 std::async,std::future_category 函数以及相关枚举类型. std::future…
本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程,分别如下: C++11 并发指南一(C++11 多线程初探)(本章计划 1-2 篇,已完成 1 篇) C++11 并发指南二(std::thread 详解)(本章计划 1-2 篇,已完成 1 篇) C++11 并发指南三(std::mutex 详解)(本章计划 1-2 篇,已完成 2 篇) C++11 并发指南三(std::mutex 详解) C++11 并发指南三(Lock 详解) C++11 并发…
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::packaged_task 类,本文主要介绍 std::future,std::shared_future 以及 std::future_error,另外还会介绍 <future> 头文件中的 std::async,std::future_category 函数以及相关枚举类型. std::future…
14章 操作符重载和转换 重载操作符是具有特殊名称的函数:保留字operator后接需要定义的操作符符号. 1.重载的操作符名: + – * / % ^ & | ~ ! , = <  >  <= >= ++ – << >> == != && ||等 不能重载的操作符:     ::    *  . ? 2. 重载操作符 必须具有一个类类型操作数. int operator+(int,int) ;//error : cannot def…
1.共同的打开文件方式: fin.open("test.txt",ios::binary) fout.open("test.txt",ios::binary) fboth.open("test.txt",ios::in|ios::out|ios::binary) 或者 fistream fin("test.txt",ios::binary) fostream fout("test.txt",ios::bin…
假设有个class用来表现夹带背景图案的GUI菜单单,这个class用于多线程环境,所以它有个互斥器(mutex)作为并发控制用: class PrettyMenu{ public: ... void changeBackground(std::istream& imgSrc); ... private: Mutex mutex; Image* bgImage; int imageChanges; }; void PrettyMenu::changeBackground(std::istream…
条款26:尽可能延后变量定义式的出现时间 为何要尽量延后? 当程序中途跳出而导致变量未被使用,但是必须进行构造和析构. 最佳初始化变量 直接在构造时指定初值比构造之后再赋值效率高(条款4) ... std::string encrypted(password); ... 循环内变量定义在循环内还是循环外? 程序A:定义于循环外 //方法A:循环外定义 POINT point; for (int i = 0; i < 1000000000; i++) { point = tmp; //tmp =…
五.实现 大多数情况下,适当提出拟的类定义以及函数声明,是花费最多心力的两件事.尽管如此,还是有很多东西需要小心:太快定义变量可能造成效率上的拖延:过度使用转型(casts)可能导致代码变慢又难维护,又招来微妙难解的错误:返回对象“内部数据之号码牌(handls)”可能会破坏封装并留给客户虚吊号码牌:为考虑异常带来的冲击则可能导致资源泄漏和数据败坏:过度热心地inlining可能引起代码膨胀:过度耦合则可能导致让人不满意的冗长建置时间. 条款26:尽可能延后变量定义式的出现实现时间 “尽可能延后…
条款26 尽可能延后变量定义式的出现时间(Lazy evaluation) 记住: ★尽可能延后变量定义式的出现.这样做可增加程序的清晰度并改善程序效率 ---------------------------------------------------------------------- 举例说明: std::string encryptPassword( const std::string &password ) { using namespace std; string encrypt…
一.文件的读写 如前面所提,流的读写主要有<<, >>, get, put, read, write 等操作,ofstream 继承自ostream, ifstream 继承自 istream,故操作函数都是一致的.  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40   #include &…
创建buffer 在io操作中,对数据的读写大都是在一个缓冲区上进行的,在asio框架中,可以通过asio::buffer函数创建一个缓冲区来提供数据的读写.buffer函数本身并不申请内存,只是提供了一个对现有内存的封装. char d1[128];    size_t bytes_transferred = sock.receive(asio::buffer(d1)); 直接用字符串做buffer也是常见的形式: string str = " hello world " ;    …
分类 --友元.static成员 一.友元 友元机制同意一个类将对其.友元关系:一个样例 如果一个窗体管理类Window_Mgr可能须要訪问由其管理的Screen对象的内部数据.Screen应该同意其訪问自己的私有成员: class Screen { friend class Window_Mgr; }; Window_Mgr的成员能够直接引用Screen的私有成员: Window_Mgr & Window_Mgr::relocate(Screen::index x,Screen::index…
C++的迭代器适配器中常用的有插入迭代器(Inser Iterator).流迭代器(Stream Iterator)和逆向迭代器(Reverse Iterator)等! 本文主要是介绍插入迭代器(Inser Iterator).下面介绍三种插入迭代器: 1.Back Inserter 原理:其内部调用push_back() 功能:在容器的尾端插入元素 限制:只有提供了push_back()成员函数的容器中,back inserter才能派上用场 适用:vector deque list 2.Fr…
异常安全在某种意义上来说就像怀孕...但是稍微想一想.在没有求婚之前我们不能真正的讨论生殖问题. 假设我们有一个表示GUI菜单的类,这个GUI菜单有背景图片.这个类将被使用在多线程环境中,所以需要mutex进行并发控制. class PrettyMenu { public: ... void changeBackground(std::istream& imgSrc); // change background ... // image private: Mutex mutex; // mute…
重载运算符 基本概念 问题:对于int,float可以进行算数运算,但是对于一个自定义的类的对象进行算术运算,就不知道具体怎么运算了. 所以有了自定义运算符的概念. 1,自定义运算符其实就是一个以operator开头的函数,它可以是: 一个类的成员函数 普通的非函数 2,有一元运算符,比如++,还有元运算符,比如+. 自定义运算符函数为类的成员函数:二元运算符(a1 + b1)的左侧的对象(a1),绑定到隐式的this指针上:二元运算符的右侧的对象(b1),绑定到operator函数的第一个参数…
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 5 实现 Implementations 适当提出属于你的class定义以及各种functions声明相当花费心思.一旦正确完成它们,相应的实现大多直截了当.尽管如此,还是要小心很多细节. 条款26 : 尽可能延后变量定义式的出现时间 当你定义了一个变量,其类型带有构造函数和析构函数,当程序控制流(control flow)到达此变量定义式时,你需要承担构造成本…
目录结构: contents structure [-] 迭代器运算符 迭代器类型 begin和end运算符 迭代器的算术运算 可以使用下标来访问string对象或vector对象的元素,还有另外一种更为通用的方式,这就是迭代器(iterator). 迭代器类型类似于指针类型,也提供了对对象的间接访问.就迭代器而言,其对象便是容器中的元素或者string对象中的字符.使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素.迭代器有有效和无效之分,这一点和指针差不多.有效的迭代器指向某个…
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第7章 类 练习7.1 class Sales_data { public: std::string isbn() const { return bookNo; } Sales_data& combine(const Sales_data&); private: std::string bookNo; unsigned units_sold; double revenue; };…