
C/Cplusplus学习笔记
qiaojianqj
这个作者很懒,什么都没留下…
展开
-
[c语言编程]俄罗斯方块游戏(…
原文地址:[c语言编程]俄罗斯方块游戏(下)作者:王传对shape中的color表示形状的颜色,不同的形状有不同的颜色。七种形状及它们旋转后的变形体一共有19种形状,用一个全局数组表示。假定旋转的方向是逆时针方向(顺时针方向道理一样)。shape中的next就表示当前形状逆时针旋转后的下一个形状的序号。例如:第一种形状及其旋 转变形的形状用结构表示如下。 □□□□ □□□□ □□□□ □□□转载 2013-12-20 14:59:23 · 995 阅读 · 0 评论 -
泛型编程与STL学习-iterators
concept: 可想象成: 一组型别需求条件 或 一组描述某个型别的条件model: 当 某个型别 满足所有这样的条件时, 我们便说 该型别 是 该concept的一个 model iterator: 迭代器,即是 满足一定需求条件 的concept,iterator 不单单是一个concept,共5个不同的concept,即iterator的分类iterator的分类:in原创 2014-03-24 15:00:20 · 660 阅读 · 0 评论 -
泛型编程与STL学习-function object
function object:以class形式包装的函数(在类中重载操作符()),除此以外,它还可以像一般class一样拥有 成员变量 和 成员函数,你可以以此利用function object 来表现 具有局部状态的函数,例如:template struct last_name_is{string value;last_name_is(const string& val): v原创 2014-03-26 17:03:41 · 666 阅读 · 0 评论 -
泛型编程与STL学习-Containers
首先 :STL即是:用泛型编程的技术 将 算法(find, sort, etc.) 和 数据结构(vector, list, deque, set, etc.) 分离开来,而其中的连接点即是:iterators。通过iterator,算法作用于某个range身上。STL中用Container 的 概念来描述数据结构。C++语言支持的最简单的一个数据结构即:数组。数组有其自身优点如:1. 有ra原创 2014-03-30 19:08:30 · 802 阅读 · 0 评论 -
C++中的虚函数表(转)
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使原创 2013-12-20 15:00:07 · 403 阅读 · 0 评论 -
(转)汇编中各寄存器的作用
反汇编里repstos dword ptr es:[edi] 是做什么的?参考资料:1.http://www.cnblogs.com/awpatp/archive/2012/08/05/2623628.html 2.http://stackoverflow.com/questions/4024492/can-anyone-help-me-interpret-th原创 2013-12-20 15:00:00 · 1244 阅读 · 0 评论 -
(转)VS 反汇编方法及常用汇编…
在调试没有源码的文件时,我们可能要用到反汇编设计。一、VS反汇编方法1、调出反汇编窗口。反汇编方法及常用汇编指令介绍" />2、调用寄存器窗口(只有在反汇编下才可见)如果在调试状态还是没有此菜单项,可试着以下操作:在VS中点击“工具”->“导入和导出设置”,选择“重置所有设置”,下一步,这时你可以保存当前设置或不保存,我觉得无所谓,下一步,选择“VisualC#开发设置”原创 2013-12-20 14:59:57 · 579 阅读 · 0 评论 -
VC++调试大全
一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置跟踪调试1、 尽量使用快捷键时行调试2、 观察调试信息3、 高级中断原创 2013-12-20 14:59:50 · 811 阅读 · 0 评论 -
堆和栈的区别(转帖)
堆和栈的区别 (转贴)堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。原创 2013-12-20 14:59:48 · 381 阅读 · 0 评论 -
拷贝构造函数的参数类型必须是引用
在C++中,构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题,你会怎么回答?或许你会回答为了减少一次内存拷贝?很惭愧的是,我的第一感觉也是这么回答。不过还好,我思索一下以后,发现这个答案是不对的。原因: 如果拷贝构造函数中的参数不是一个引用,即形如CClass(con原创 2013-12-20 14:59:46 · 419 阅读 · 0 评论 -
C++的前置声明
原帖地址:http://software.intel.com/zh-cn/blogs/2010/05/04/c-2/刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样://a.h#include "b.h"class A{...private: B b;};原创 2013-12-20 14:59:43 · 362 阅读 · 0 评论 -
[c语言编程]俄罗斯方块游戏…
原文地址:[c语言编程]俄罗斯方块游戏(上)作者:王传对Tc2.0 编写俄罗斯方块游戏 很多编程爱好者都编写过俄罗斯方块的游戏程序。很久以前,我用Tc2.0也做过一个;最近有好些朋友看见我以前的俄罗斯方块的程序后, 问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与各位编程爱好者分享,一直没空。正好现在放假了,而且离回家还有几天。于是我就把这个程序重新写了一遍,尽量使程序的结转载 2013-12-20 14:59:21 · 1157 阅读 · 0 评论 -
彻底解决Visual Studio 2010…
原文地址:Studio 2010/2008编写C语言的问题">彻底解决Visual Studio 2010/2008编写C语言的问题作者:喜之廊 相信学习C语言的同学们一直在为自己的windows7不能用vc6.0而烦恼着。或许有的电脑能使用上,但绝大多数是不能的,而且会出现软件不能兼容的提醒。其实大家都不需要再使用vc6.0了,因为软件更新得真的很快,目前vs已经升级到了2010版本。但转载 2013-12-20 14:59:19 · 506 阅读 · 0 评论 -
堆和栈的区别(转)
原文地址:堆和栈的区别(转)作者:小Demo呆堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式转载 2013-12-20 14:59:17 · 355 阅读 · 0 评论 -
#pragma 详解(转)
概要:1. #pragma link "libname" 使用pragma link可以在工程里加入了一个名为libname的库文件。 2. #pragma data_seg(".sdata") //数据段开始。 int data_share=0; 注意点: A.这里的变量data_share必须初始化 B.必须在.def文件或link参数中指定此数据段.sdata为共享段,这样才原创 2013-12-20 14:59:55 · 782 阅读 · 0 评论 -
代码段、数据段、BSS段、堆、栈
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通常是指用原创 2015-09-12 20:45:32 · 334 阅读 · 0 评论