ThinkingInC++
cutter_point
这个作者很懒,什么都没留下…
展开
-
【j2ee spring】14、AOP中的概念
AOP中的概念1)切面(Aspect): 指交叉业务逻辑的统称, 比如日志,事务,安全; 2)通知(Advice): 指切面的具体实现; 3)连接点(Joinpoint):指切面可以织入到(应用到)目标对象的位置(级别), 两个: 方法/属性代理模式, 调用的是代理对象, 代理维护一个目标对象的属性; 调用方法之前, 先写日志; 再调用具体的实现方法; 调用属性之前, 拦截一下做处理,很少用;原创 2015-04-02 15:35:33 · 877 阅读 · 0 评论 -
【ThinkingInC++】53、构造函数,析构函数,全局变量
/*** 书本:【ThinkingInC++】* 功能:构造函数,析构函数,全局变量* 时间:2014年9月17日18:07:43* 作者:cutter_point*/#include using namespace std;ofstream out("statdest.txt");class Obj{ char c;public: Obj(char原创 2014-09-17 18:06:30 · 1043 阅读 · 0 评论 -
【ThinkingInC++】51、最好还是把定义放到外面,用inline来实现内联,而不是在类里面定义默认为内联
/*** 书本:【ThinkingInC++】* 功能:当项目比较大的时候,最好还是把定义放到外面,用inline来实现内联,而不是在类里面定义默认为内联* 时间:2014年9月16日19:06:25* 作者:cutter_point*/class Rectangle{ int width, height;public: Rectangle(int w=0, in原创 2014-09-16 19:05:09 · 881 阅读 · 0 评论 -
【ThinkingInC++】50、带内联函数的Stack
Stack4.h/*** 书本:【ThinkingInC++】* 功能:带内联函数的Stack* 时间:2014年9月16日19:04:01*/#ifndef STACK4_H_INCLUDED#define STACK4_H_INCLUDED#include "../require.h"class Stack{ struct Link //节点结构 {原创 2014-09-16 19:03:57 · 981 阅读 · 0 评论 -
【ThinkingInC++】60、嵌入的迭代器
嵌入的迭代器NestedSmartPointer.cpp/*** 书本:【ThinkingInC++】* 功能:嵌入的迭代器* 时间:2014年9月26日10:03:03* 作者:cutter_point*/ #include#include#include"../require.h" usingnamespace std; class原创 2014-09-26 10:00:47 · 722 阅读 · 0 评论 -
【ThinkingInC++】27、全局作用域解析
/*** 功能:全局作用域解析* 时间:2014年8月19日10:51:32* 作者:cutter_point*/int a; //全局void f(){} //全局struct S{ int a; void f();};void S::f(){ ::f(); //外面那个。全局的 ::a++; //外面那个全局原创 2014-08-19 10:48:37 · 721 阅读 · 0 评论 -
【ThinkingInC++】26、下推栈(push_down stack)不会越出内存
头文件/*** 功能:下推栈(push_down stack)不会越出内存* 时间:2014年8月18日08:13:36* 作者:cutter_point*/#ifndef STACK_H_INCLUDED#define STACK_H_INCLUDEDstruct Stack{ struct Link { void* data; //这个结构原创 2014-08-18 08:08:15 · 998 阅读 · 0 评论 -
【ThinkingInC++】58、文件加入行号
Linenum.cpp/*** 书本:【ThinkingInC++】* 功能:为任何文件加入行号* 时间:2014年9月23日19:35:25* 作者:cutter_point*/#include "../require.h"#include #include #include #include #include using namespace std;原创 2014-09-23 19:33:37 · 814 阅读 · 0 评论 -
【ThinkingInC++】25、用sizeof运算符可以确定struct的长度。
/*** 功能:用sizeof运算符可以确定struct的长度。* 时间:2014年8月18日08:10:14* 作者:cutter_point*/#include"CLib.h"#include"CppLib.h"#includeusing namespace std;struct A{ int i[100];};struct B{ void f原创 2014-08-18 08:09:03 · 736 阅读 · 0 评论 -
【ThinkingInC++】24、基本对象,用struct写一个类
/*** 功能:基本对象,用struct写一个类* 时间:2014年8月17日08:08:47* 作者:cutter_point*/#ifndef CPPLIB_H_INCLUDED#define CPPLIB_H_INCLUDEDstruct Stash{ int size; //每个小空间的大小,就是确定存储什么元素的时候一个元素的大小,字节数 i原创 2014-08-17 08:07:16 · 577 阅读 · 0 评论 -
【ThinkingInC++】22、函数必须用它特有的方式去改变外部的string对象
/*** 功能:创建两个函数,一个接受一个string*参数,另外一个接受一个string&参数。每个* 函数必须用它特有的方式去改变外部的string对象。在main()中,创建和初始化一个* string对象,输出它,然后传给每个函数,输出结果。* 时间:2014年8月16日12:24:50* 作者:cutter_point*/#include#inclu原创 2014-08-16 12:26:48 · 715 阅读 · 0 评论 -
【ThinkingInC++】23、一个袖珍的C库
/*** 功能:一个袖珍的C库* 时间:2014年8月17日08:05:26* 作者:cutter_point*///这个头文类似一个C的库#ifndef CLIB_H_INCLUDED#define CLIB_H_INCLUDEDtypedef struct CStashTag{ int size; //每个小空间的大小 int quantit原创 2014-08-17 08:05:45 · 1003 阅读 · 1 评论 -
【ThinkingInC++】49、带内联函数的Stash
Stash4.h/*** 书本:【ThinkingInC++】* 功能:带内联函数的Stash* 时间:2014年9月12日08:16:13* 作者:cutter_point*/#ifndef STASH4_H_INCLUDED#define STASH4_H_INCLUDED#include "../require.h"#include class Stash{原创 2014-09-12 08:12:31 · 1139 阅读 · 0 评论 -
【ThinkingInC++】35、重载的例子
头文件/*** 书本:【ThinkingInC++】* 功能:重载的例子* 时间:2014年8月12日22:12:36* 作者:cutter_point*/#ifndef STASH3_H_INCLUDED#define STASH3_H_INCLUDEDclass Stash{ int size; //表示要保存的数据占用的字节个数 int quant原创 2014-08-28 16:00:13 · 691 阅读 · 0 评论 -
【ThinkingInC++】21、关于C的习题(3)
/***功能:使用while循环从标准输入(cin)中吧单词读入到string中。这是一个“无穷”* while循环,可以使用break语句中断(和退出程序)。对于读入的单词用系列if语句吧* 该单词“映射”为一个整数值,然后用该整数值作为一个switch语句的选择条件* 的意义。同上判定那个单词是程序的结束标志,用文件输出啦测试程序*时间:2014年8月15日08:22:1原创 2014-08-15 08:21:34 · 688 阅读 · 0 评论 -
【ThinkingInC++】18、指向函数的指针数组
/*** 功能:指向函数的指针数组* 时间:2014年8月14日07:24:46* 作者:cutter_point*/#include#includeusing namespace std;//这里N就是函数名,而DF(N)就代表了后面的N函数,N可以变#define DF(N) void N() {cout<<"function "#N原创 2014-08-14 07:23:21 · 675 阅读 · 0 评论 -
【ThinkingInC++】20、关于C的习题(2)
/***功能:编写一个程序使用两重for循环和模运算符(%)去寻找和输出质数(只能被1和它本身*整除的整数)。*时间:2014年8月15日08:19:48*作者:cutter_point*/#include#includeusing namespace std;//写一个函数输出质数(只能被1和它本身*整除的整数)void printZhiShu(int n)原创 2014-08-15 08:18:29 · 735 阅读 · 0 评论 -
【ThinkingInC++】46、特定的数据成员可以在一个const对象里被改变
/*** 书本:【ThinkingInC++】* 功能:声明关键字mutable,指定一个特定的数据成员可以在一个const对象里被改变* 时间:2014年9月11日07:47:07* 作者:cutter_point*/class Z{ int i; mutable int j;public: Z(); void f() const;};Z原创 2014-09-11 07:46:39 · 710 阅读 · 0 评论 -
【ThinkingInC++】59、关于operator->
/*** 书本:【ThinkingInC++】* 功能:关于operator->* 时间:2014年9月25日19:22:01* 作者:cutter_point*/#include #include #include "../require.h"using namespace std;class Obj{ static int i, j;public:原创 2014-09-25 19:18:35 · 539 阅读 · 0 评论 -
【ThinkingInC++】52、函数内部的静态变量
/*** 书本:【ThinkingInC++】* 功能:函数内部的静态变量* 时间:2014年9月17日18:06:33* 作者:cutter_point*/#include "../require.h"#include using namespace std;char oneChar(const char* charArray=0){ const static原创 2014-09-17 18:05:19 · 928 阅读 · 0 评论 -
【ThinkingInC++】54、对于静态函数的调用
/*** 书本:【ThinkingInC++】* 功能:对于静态函数的调用* 时间:2014年9月17日18:12:03* 作者:cutter_point*/#include using namespace std;class X{ int i; static int j;public: X(int ii=0) : i(ii) {j=i;}原创 2014-09-17 18:08:50 · 597 阅读 · 0 评论 -
C++语言及网络编程书籍整理
都是我看过或正要看的书,晾晾书架,希望对后来者也有一点作用,当年我也是浪费时间看了一些没有价值的书籍,颇为后悔,现将精华总结如下: c语言篇:(虽有人说学C++不用先学c,但我颇不以为然,不知数据为何,又何来的封装继承多态) 1:c语言入门大学教程c语言谭浩强版足以。 2:windows c语言API编程基础,推荐《windows程序设计(第5版)》 Charles转载 2015-03-19 20:13:18 · 775 阅读 · 0 评论 -
【ThinkingInC++】74、通用容器
第七章 通用容器7.1 容器和迭代器一个好的面向对象的编程语言都伴随着一个容器集 一个vector用于高效地访问其中的所有元素,而一个链表list则用于高效地在其中的所有位置上进行插入操作。 7.2 概述 Copy函数 现在我们来看看变易算法。所谓变易算法(Mutating algorithms)就是一组能够修改容器元素数据的模板函数,可进行序列数据的复制,原创 2014-10-18 19:00:12 · 783 阅读 · 0 评论 -
【ThinkingInC++】73、深入理解模板
第五章 深入理解模板5.1 模板参数关于bitset bitset就是可以存放二进制的容器。对于bitset的主要操作有: (constructor)Construct bitset (public member function) //构造bitset.. 格式bitset长度> 名字applicable operators原创 2014-10-16 16:28:11 · 900 阅读 · 0 评论 -
【ThinkingInC++】61、非成员运算符
非成员运算符 当运算符的左侧是不同的类的时候,就不能吧运算符重载到类里面了。IostreamOperatorOverloading.cpp/*** 书本:【ThinkingInC++】* 功能:非成员运算符* 时间:2014年10月4日14:23:25* 作者:cutter_point*/ //当运算符的左侧是不同的类的时候,就不能吧运算符重载到类里面了原创 2014-10-04 14:20:46 · 1476 阅读 · 0 评论 -
【ThinkingInC++】62、类中指针
类中指针CopyingWithPointers.cpp /*** 书本:【ThinkingInC++】* 功能:类中指针* 时间:2014年10月4日14:26:19* 作者:cutter_point*/#include "../require.h"#include #include using namespace std;class Dog{原创 2014-10-04 14:23:47 · 965 阅读 · 0 评论 -
【ThinkingInC++】75、多重继承
第九章 多重继承9.2 接口继承Intertfacees.cpp/*** 书本:【ThinkingInC++】* 功能:接口继承Interfaces.cpp* 时间:2014年10月28日20:06:31* 作者:cutter_point*/ #include #include #include using namespace std;原创 2014-10-28 20:05:23 · 903 阅读 · 0 评论 -
【ThinkingInC++】71、深入理解字符串
第三章 深入理解字符串我们希望string类能够做到的:1. 创建或修改string中存放的字符序列2. 检测string中元素的存在性3. 能够在多种描述string字符的方案之间进行转换3.2 创建并初始化C++字符串SmallString.cpp/*** 书本:【ThinkingInC++】* 功能:1、用C语言的char型数组或原创 2014-10-11 18:35:55 · 631 阅读 · 0 评论 -
【ThinkingInC++】76、设计模式
第十章 设计模式 10.3 简化习语 10.3.1 信使 他将消息封装到一个对象中到处传递,而不是将消息的所有片段分开进行传递。 MessengerDemo.cpp /*** 书本:【ThinkingInC++】 MessengerDemo.cpp * 功能:将消息封装到一个对象中到处传递* 时间:2014年10月29日17:54:53* 作者:cu原创 2014-10-29 17:54:19 · 845 阅读 · 0 评论 -
【ThinkingInC++】72、输入输出流
第四章 输入输出流Strfiile.cpp /*** 书本:【ThinkingInC++】* 功能:一个文件的输入输出流* 时间:2014年10月12日15:15:59* 作者:cutter_point*/#include //很多平台上会自动包含但是不是所有#include #include "../require.h"using namespace std;i原创 2014-10-12 15:14:18 · 1027 阅读 · 0 评论 -
【ThinkingInC++】70、防御性编程
第二章 防御性编程猜字游戏/*** 书本:【ThinkingInC++】* 功能:实现一个猜谜的游戏* 时间:2014年10月8日21:54:44* 作者:cutter_point*/#include #include #include using namespace std;int main(){ cout<<"自己想出来一个数字,在1到100之间的,原创 2014-10-08 21:50:49 · 786 阅读 · 0 评论 -
【ThinkingInC++】69、异常处理
第一章 异常处理1.5清理1.5.1 资源管理如果一个对象的构造函数在执行过程中抛出异常,那么这个对象的析构函数就不会被调用。Rawp.cpp/*** 书本:【ThinkingInC++】* 功能:资源管理* 时间:2014年10月8日20:19:03* 作者:cutter_point*/#include #include using namespace s原创 2014-10-08 20:16:04 · 754 阅读 · 0 评论 -
【ThinkingInC++】68、模板介绍
第十六章 模板介绍模板中的常量/*** 书本:【ThinkingInC++】* 功能:模板中的常量* 时间:2014年10月7日18:45:01* 作者:cutter_point*/#include#include#include"../require.h" usingnamespace std; template //这个size不原创 2014-10-07 18:41:34 · 746 阅读 · 0 评论 -
【ThinkingInC++】67、多态性和虚函数
第十五章 多态性和虚函数/*** 书本:【ThinkingInC++】* 功能:纯抽象类* 时间:2014年10月6日13:10:28* 作者:cutter_point*/#include using namespace std;enum note {middleC, Csharp, Cflat};//创建一个抽象类//基类class Instrument{p原创 2014-10-06 13:04:35 · 834 阅读 · 0 评论 -
【ThinkingInC++】66、pointer Stash的使用
头文件PStash.h/*** 书本:【ThinkingInC++】* 功能:pointer Stash的头文件* 时间:2014年10月5日14:33:15* 作者:cutter_point*/#ifndef PSTASH_H_INCLUDED#define PSTASH_H_INCLUDEDclass PStash{ int quantity; //原创 2014-10-05 14:29:33 · 1040 阅读 · 0 评论 -
【ThinkingInC++】63、引用计数
/*** 书本:【ThinkingInC++】* 功能:引用计数,可以知道有多少个对象指向这个对象。* 时间:2014年10月5日14:28:11* 作者:cutter_point*/#include "../require.h" //这个文件是为了检验一些错误的,这个可以用#include代替,但是相应的函数也要改#include #include using namesp原创 2014-10-05 14:25:52 · 867 阅读 · 0 评论 -
【ThinkingInC++】65、使用delete void*可能会出错
/*** 书本:【ThinkingInC++】* 功能:使用delete void*可能会出错* 时间:2014年10月5日14:31:43* 作者:cutter_point*/#include using namespace std;class Object{ void* data; //一个void*类型的指针 const int size; c原创 2014-10-05 14:28:14 · 931 阅读 · 0 评论 -
【ThinkingInC++】64、重载new和delete,来模仿内存的分配
/*** 书本:【ThinkingInC++】* 功能:重载new和delete,来模仿内存的分配* 时间:2014年10月5日14:30:11* 作者:cutter_point*/#include //size_t这个类型的使用#include #include #include using namespace std;ofstream out("Framis.t原创 2014-10-05 14:26:45 · 819 阅读 · 0 评论 -
【ThinkingInC++】17、使用函数指针
/*** 功能:使用函数指针* 时间:2014年8月14日07:23:42* 作者:cutter_point*/#include#includeusing namespace std;void fun1(){ cout<<"The function fun1 called.."<<endl;}int main(){ void (*fp)(); /原创 2014-08-14 07:23:09 · 664 阅读 · 0 评论 -
【ThinkingInC++】19、关于C的习题(1)
/***功能:建立一个头文件,声明一组函数,具有可变参数,返回值包括void,char,*int,float。建立一个包含上述头文件的.cpp文件,创建所有这些函数的定义。每个*定义应该简单地输出函数名,参数列表,并返回类型以便知道它已经被调用。*创建另外一个.cpp文件,它包含头文件且定义int main(),在其中调用已经定义的所有*函数。*时间:2014年8月15日08:18:0原创 2014-08-15 08:17:52 · 854 阅读 · 0 评论