C++ primer
文章平均质量分 89
cutter_point
这个作者很懒,什么都没留下…
展开
-
【足迹C++primer】60、重载和模板
重载和模板/*** 功能:重载和模板* 时间:2014年7月27日16:23:32* 作者:cutter_point*/#include#include#includeusing namespace std;/**重载模板书写*/templatestring debug_rep(const T &t){ ostringstream ret;原创 2014-07-31 08:15:42 · 784 阅读 · 0 评论 -
【足迹C++primer】表达式求值
表达式求值原创 2014-06-15 11:58:45 · 1128 阅读 · 0 评论 -
【足迹C++primer】31、初识泛型算法
初识泛型算法理解算法的最基本方法是了解他们是否读取元素、改变元素或是重排元素顺序!只读算法#include#includeusing namespace std;//对vec中的元素求和,初值是0int sum=accumulate(vec.cbegin(), vec.cend(), 0);这里面第三个参数决定了函数使用哪个加法运算符以及返回值类型。原创 2014-06-17 08:52:35 · 916 阅读 · 0 评论 -
【足迹C++ primer】17、类的其他特性(2)
类的其他特性(2)返回*this的成员函数返回*this的成员函数,则调用的直接就是类的对象本身,而不是他的副本。#include#includeusing namespace std;class Screen{public: typedef std::string::size_type pos; //用pos来代表这个类型// using pos原创 2014-06-02 19:00:45 · 1620 阅读 · 0 评论 -
【足迹C++primer】53、访问控制和继承
访问控制和继承public: 公有类型private: 私有类型protected: 保护类型当一个类的成员定义为public,就能够在类外访问,包括它的派生类。当一个成员定义为private,它仅能在类内访问,不能被它的派生类访问。当一个成员定义为proteced,它仅能在类内访问,但是能被它的派生类访问。当一个成员没有指定访问说明符时,默认为private。原创 2014-07-25 07:22:37 · 823 阅读 · 0 评论 -
【足迹C++primer】39、动态内存与智能指针(1)
动态内存与智能指针(1)我去原创 2014-07-06 14:40:30 · 609 阅读 · 0 评论 -
【足迹C++primer】30、概述(泛型算法)
概述(泛型算法)大多数算法都定义在头文件algorithm中。标准库还在头文件numeric中定义了一组泛型算法。#include#include#include#includeusing namespace std;int main(){ vector vec; for(size_t t=0 ; t != 44 ; ++t) {原创 2014-06-16 08:47:12 · 795 阅读 · 0 评论 -
【足迹C++primer】29、容器适配器
容器适配器原创 2014-06-14 08:32:36 · 684 阅读 · 0 评论 -
【足迹C++primer】17、类的其他特性
类的其他特性1、类的chengyua原创 2014-05-30 09:18:44 · 831 阅读 · 0 评论 -
【足迹C++primer】52、转换和继承,虚函数
转换和继承,虚函数Understanding conversions between base and derived classes is essential tounderstanding how object-oriented programming works in C++.理解基类和派生类之间的转换是必不可少的 理解面向对象编程在。Like built-i原创 2014-07-24 09:56:00 · 1155 阅读 · 0 评论 -
【足迹C++ primer】16、访问控制与封装
访问控制与封装原创 2014-05-29 15:37:31 · 840 阅读 · 0 评论 -
【足迹C++primer】27、vector对象是如何增长的
vector对象是如何增长的当需要更多空间的时候,会重新分配比新空间需求更大的内存空间,作为备用管理容器的成员函数shrink_to_fit //只适用于vector,string,dequecapacity reserve //只适用于vector,string c.shrink_to_fit() //请将capacity()减少为与size相同大小c.c原创 2014-06-12 08:27:22 · 1097 阅读 · 0 评论 -
【足迹C++primer】15、定义抽象数据类型
定义抽象数据类型struct Sales_data { std::string isbn() const {return bookNo;} Sales_data& combine(const Sales_data&); double avg_price() const; std::string bookNo; unsigned units_sold原创 2014-05-28 09:12:38 · 976 阅读 · 0 评论 -
【足迹C++primer】28、额外的string操作
额外的string操作原创 2014-06-13 13:06:42 · 1219 阅读 · 0 评论 -
【足迹C++primer】51、面向对象编程概述
面向对象编程概述继承(Inheritance)class Quote{public: Quote(){cout<<"Quote的构造函数!"<<endl;} string isbn() const {cout<<"Quote的isbn()调用!"<<endl; string s="Quote,isbn"; return s;} virtual double原创 2014-07-23 10:09:43 · 841 阅读 · 0 评论 -
【足迹C++primer】50、避免含糊转换
避免含糊转换参数匹配和相互转换struct B;struct A{ A()=default; A(const B&) //吧B负责给A,拷贝构造函数 {//嘿,这里我有点明白了,只要 后面调用了这个函数,那么这个函数就得有定义 //不能只声明不定义 cout<<"调用了A(const B&)转换!"<<endl; }原创 2014-07-22 08:05:45 · 878 阅读 · 0 评论 -
【足迹C++primer】26、顺序容器操作
顺序容器操作原创 2014-06-11 15:09:38 · 912 阅读 · 0 评论 -
【足迹C++primer】54、继承类的范围,构造函数和拷贝控制
继承类的范围,构造函数和拷贝控制当用派生类执行函数的时候,首先会在当前的类里面找如果找不到就一级一级地往上找。Name Lookup Happens at Compile Timeclass Quote{public: Quote()=default; Quote(const string &book, double sales_price)原创 2014-07-26 07:32:39 · 962 阅读 · 0 评论 -
【足迹C++primer】39、动态内存与智能指针(2)
动态内存与智能指针(2)直接管理内存void fun1(){ //此new表达式在自由空间构造一个int型对象,并返回指向该对象的指针 int *pi1=new int; //pi指向一个动态分配、未初始化的无名对象 string *ps3=new string; //初始化为空string int *pi2=new int;原创 2014-07-07 21:02:14 · 951 阅读 · 0 评论 -
【足迹C++primer】59、模板左值右值的转换
模板左值右值的转换/*** 功能:模板左值右值的转换* 时间:2014年7月27日08:18:06* 作者:cutter_point*/#include#include#includeusing namespace std;templateauto fcn(It beg, It end) -> typename remove_reference::ty原创 2014-07-31 08:17:02 · 887 阅读 · 0 评论 -
【足迹C++primer】58、Template Parameter
Template Parameter#include#include#include#include#include#includeusing namespace std;templateFoo calc(const Foo &a, const Foo &b){ Foo temp=a; //... return temp;}///Templa原创 2014-07-31 08:10:24 · 796 阅读 · 0 评论 -
【足迹C++primer】32、定制操作_3
定制操作_3隐式捕获要求编译器根据lambda体中的代码来推断我们要使用那些变量。这里=表示值捕获,&表示引用捕获//sz为隐式捕获,值捕获方式void fun1(vector &words, vector::size_type sz){ auto wc=find_if(words.begin(), words.end(), [=](const string原创 2014-06-20 07:35:08 · 692 阅读 · 0 评论 -
【足迹C++primer】34、泛型算法结构
泛型算法结构原创 2014-06-22 08:41:57 · 623 阅读 · 0 评论 -
【足迹C++primer】33、再探迭代器
再探迭代器这里有插入迭代器,有流迭代器,反向迭代器,移动迭代器。插入迭代器这是一种迭代器适配器,接受一个容器,生成一个迭代器,实现向给定容器添加元素。插入迭代器有三种类型,差异在于元素插入的位置back_inserter创建一个使用push_back的迭代器。front_inserter创建一个使用push_front的迭代器。inserter创建一个使用i原创 2014-06-21 08:14:53 · 873 阅读 · 0 评论 -
【足迹C++primer】43、拷贝控制和资源管理
拷贝控制和资源管理13.2.1行为像值的类*定义一个拷贝构造函数,完成string的拷贝,而不是拷贝指针*定义一个析构函数来释放string*定义一个拷贝赋值运算符来释放对象当前的string,并从右侧运算对象拷贝stringclass HasPtr{public: HasPtr(const string &s=string()):ps(new原创 2014-07-13 10:24:41 · 1225 阅读 · 0 评论 -
【足迹C++primer】42、13_1_拷贝、赋值与销毁(2)
13_1_拷贝、赋值与销毁(2)s原创 2014-07-12 09:19:28 · 521 阅读 · 0 评论 -
【足迹C++primer】42、拷贝、赋值与销毁(1)
拷贝、赋值与销毁(1)13.1.1拷贝构造函数/**************************************13.1.1拷贝构造函数**************************************/class Foo1{public: Foo1(); //默认构造函数 Foo1(const Foo1&);原创 2014-07-11 11:31:32 · 841 阅读 · 0 评论 -
【足迹C++primer】41、文本查询程序
/*** 功能:使用标准库:文本查询程序* 时间:2014年7月10日09:10:15* 作者:cutter_point*/#include#include#include#include#include#include#include#includeusing namespace std;using line_no=vector::size_type;/**原创 2014-07-10 11:18:06 · 1006 阅读 · 0 评论 -
【足迹C++primer】57、定义一个模板
定义一个模板比较大小的函数如果v1和v2相同返回0,v1小-1,v2小1int compare(const string &v1, const string &v2){ if(v1<v2) return -1; if(v1>v2) return 1; return 0;}int compare(const double &v1, cons原创 2014-07-29 07:43:08 · 795 阅读 · 0 评论 -
【足迹C++primer】56、文本查询程序
/*** 功能:文本查询程序* 时间:2014年7月23日10:26:09* 作者:cutter_point*/#include#include#include#include#include#include#includeusing namespace std;/*Alice Emma has long flowing red hair.Her Daddy s原创 2014-07-28 10:15:34 · 1407 阅读 · 2 评论 -
【足迹C++primer】32、定制操作_2
定制操作_2完整的biggies好吧上一章是有点2B了,我的,昨天可能是刚考完心情有点小激动就不想学习了,我错了!!/*** 功能:定制操作* 时间:2014年6月19日07:32:03* 作者:cutter_point*/#include#include#include#include#includeusing namespace std;vo原创 2014-06-19 08:37:04 · 1296 阅读 · 0 评论 -
【足迹C++primer】32、定制操作_1
定制操作向算法c原创 2014-06-18 18:27:33 · 863 阅读 · 0 评论 -
【足迹C++primer】39、动态内存与智能指针(3)
动态内存与智能指针(3)/*** 功能:动态内存与智能指针* 时间:2014年7月8日15:33:58* 作者:cutter_point*/#include#include#include#includeusing namespace std;/**智能指针和异常*/void f(){ shared_ptr sp(new int(42));原创 2014-07-08 17:36:12 · 788 阅读 · 0 评论 -
【足迹C++primer】55、容器和继承
容器和继承class Quote{public: Quote()=default; //默认构造函数 Quote(const string &book, double sales_price):bookNo(book), price(sales_price) {cout<<"Quote gouzhao function"<<endl;} //拷贝函数原创 2014-07-27 07:28:34 · 913 阅读 · 0 评论 -
【足迹C++primer】40、动态数组
动态数组C++语言定义了另外一种new表达式语法,可以分配并初始化一个对象数组。标准库中包含一个名为allocator的类,允许我们将分配和初始化分离。12.2.1 new和数组void fun1(){ int *pia=new int[2]; //pia指向第一个int //方括号中的大小必须是整型,但不必是常量 typedef int arrT[42原创 2014-07-09 11:23:42 · 1312 阅读 · 0 评论 -
【足迹C++primer】48、函数引用操作符
函数引用操作符struct absInt{ int operator()(int val) const { cout!!!"<<endl; return val<0 ? -val : val; }};void fun1(){ int i=-42; absInt absObj; int ui=absObj原创 2014-07-20 09:08:15 · 903 阅读 · 0 评论 -
【足迹C++ primer】13、特殊用途语言途径
特殊用途语言途径1、默认实参原创 2014-05-26 20:34:09 · 703 阅读 · 0 评论 -
【足迹C++primer】21、IO类
IO类原创 2014-06-06 09:05:22 · 719 阅读 · 0 评论 -
【足迹C++primer】18、类的作用域
类的作用域每个类都会定义自己的作用域。 Screen::pos ht=24,wd=80; //使用Screen定义的pos类型 Screen scr(ht, wd, ' '); Screen *p=&scr; char c=scr.get(); //访问scr对象的get成员 c=p->get(); /原创 2014-06-03 20:26:59 · 935 阅读 · 0 评论 -
【足迹C++ primer】10.函数基础
函数基础原创 2014-05-21 08:40:40 · 570 阅读 · 0 评论