- 博客(24)
- 收藏
- 关注
原创 回文词与镜像词
输入一个字符串,只有数字和大写字母。回文就是反转后与原串相同,如ABBA,MAM镜像就是左右镜像与原串相同。如2S,3AIAE但是不是每个镜像后都是合法字符,我们用空格代表非法字符下表是镜像后的合法字符A ABCDE 3FGH HI IJ LKL JM MNO OPQRS 2T TU UV VW WX XY YZ 51 12
2015-09-30 11:10:01 590
原创 线段是否相交
#include #include//use sort#include//use fabsusing namespace std;struct Point//点坐标{ double x; double y;};struct Line//线段属性{ double k; double b; Point p1; Point p2;};void IsIntersect(L
2015-09-29 17:02:40 472
转载 结构体对齐问题
许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如
2015-09-28 12:07:14 511
转载 C/C++ 中头文件相互包含引发的问题
原地址:http://blog.csdn.net/hazir/article/details/38600419我把问题脱离于项目简单描述一下:我写了一个函数 bool func(ClassA* CA) 需要加到项目中,我就把这个函数的声明放到 head1.h 中,函数参数类型 ClassA 定义在另一个头文件 head2.h 中,因此我需要在 head1.h 中包含 head2.h;而 h
2015-09-28 11:53:54 427
原创 老鼠走迷宫
老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径。 老鼠的走法有上、左、下、右四个方向,在每前进一格之后就选一个方向前进,无法前进时退回选择下一个可前进方向,如此在阵列中依序测试四个方向,直到走到出口为止,这是递回的基本题,请直接看程式应就可以理解。////找到迷宫的一种走法//#includeusing
2015-09-27 09:10:03 650
原创 valarray
valarray类是由头文件支持的。顾命思义,这个类用于处理数值最好不过了。它是一个模板类,下面介绍它的常用方法。#include#includeusing namespace std;int main(){ int a[5] = { 1,2,3,4,5 }; valarray v1;//an array of int, size 0 valarray v2(5);//an a
2015-09-26 21:23:59 649 1
原创 三色旗
一条绳子挂红白蓝三种颜色的旗子,且排列无序,现用程序把三种旗子同色归类,顺序为红-白-蓝,每次只能交换2面旗子。/*红-白-蓝首先排蓝色,left和right分别自左往右,自右往左,left的目的是找到b,right的目的是找到非b(即w或r),然后交换,这样可以把b都找到放在绳的最左边。那么问题简化为排序红-白。接着开始排序白,和上同理。*/#includeusing name
2015-09-26 12:59:11 495
原创 河内之塔
#includeusing namespace std;void Move(char, char);void Hanoi(char, char, char, int);int main(){ while (1) { cout int n; cin >> n; if (n
2015-09-26 09:21:50 491
原创 数组下标的排序
假如一个数组int a[5]={3,6,1,4,8},要求输出大小序列,即对于当前数组来说,应该输出:4 2 5 3 1因为8是最大的。所以对应的就是1,而6是第二个较大的,所以是2,,依次判断
2015-09-25 12:49:38 1578
转载 函数名作为另一函数的参数
定义一个函数CallFunc(*****),通过其参数中的函数指针来分别调用两个函数Func1(),Func2()#include using namespace std; typedef void (*pFunc)();//定义一个函数指针类型pFunc,与 下面的Func1(),Func2()一样的类型void Func1();//函数声明void Func2();void Ca
2015-09-21 13:13:25 530
原创 赋值和初始化
什么事赋值?什么是初始化?如果语句创建新的对象,则使用初始化;如果语句修改已有对象的值,则是赋值。假设Brass是一个类,那么Brass one;Brass two=one;//这就是初始化再看Brass one;Brass two;one=two;//这才是赋值我们回到类中复制构造函数和赋值运算符重载这两个有什么区别?都在什么时候调用呢?看两个代码
2015-09-19 09:49:29 564
原创 运算符重载
1.+重载#includeusing namespace std;class Brass{ int length;public: Brass(int _length=0):length(_length){} Brass operator+(Brass& brass)//#1 { return Brass(length+brass.length); } //改变len
2015-09-17 23:57:51 548 1
原创 作用域为类的常量
有时候,使符号常量的作用域为类很有用。例如,类声明可能使用30来指定数组的长度,由于该常量对于所有对象来说是相同的,因此创建一个由所有对象共享的常量是个不错的主意。您可能写出这样的代码:class Student{private: const int months=12; double plan[months]; ...}但是这样是错的,因为声明类只是描述了对象
2015-09-16 23:48:11 487
原创 虚析构函数
#includeusing namespace std;class Base{private: int age;public: Base(int _age=1):age(_age){} void show(){cout<<"base"<<endl;} ~Base(){cout<<"~base"<<endl;}};class BasePlus:public Base{pr
2015-09-16 20:37:09 310
原创 unity插件visual studio 20** tools
我们在安装unity的时候,会自动安装visualstudio方便我们使用。打开unity,菜单栏Assets->Import Package->visual studio 20** tools.出现框框,左下角选中all,右下角import.好了,现在打开C#文件,假如我们要写方法OnMouseDown()快捷键ctrl+shift+Q,输入onm....(不用管大小写)看到没有
2015-09-16 17:13:08 430
原创 enum
#includeusing namespace std;int main(){ enum Week{monday=1,tuesday,wednesday,thursday,friday,staturday,sunday};//monday,tuesday等称为枚举子 //在当前代码中不可以出现不同枚举类型的相同枚举子。例如此代码中又出现enum Today{monday,tuesday
2015-09-16 08:02:03 313
原创 类中的const成员函数
#include#includeusing namespace std;class Student{private: int age; string name;public: Student(int _age=2,string _name="null"):age(_age),name(_name){} void add(Student& t){cout<
2015-09-14 23:53:41 548
原创 round,floor,ceil,trunc
直接贴上C Plus Plus的代码,很容易懂/* round vs floor vs ceil vs trunc */#include /* printf */#include /* round, floor, ceil, trunc */int main (){ const char * format = "%.1f \t%.1f \t%.1f \t%
2015-09-13 22:21:19 374
原创 DOS命令
1.创建目录md drive:\ path参数说明:drive:指定要创建新目录的驱动器。path必须的。指定新目录的名称和位置。举例:在D盘创建back目录及子目录2009md d:\back\20092.删除文件和目录删除目录:rd drive:\path /s 参数说明:/s删除指定目录和所有子目录包括文件举例:删除d盘下
2015-09-07 15:37:48 382
原创 bind
// bind example#include // std::cout#include // std::bind// a function: (also works with function object: std::divides my_divide;)double my_divide (double x, double y) {return x/y;}stru
2015-09-06 18:19:02 400
原创 类中static成员
关于static的用法,网上有很多博客,很简单就不多说了。#include using namespace std; class One{public: One(int x=0){ a=x;} void fun() { static int b=0;//在函数里定义static变量 b++; cout<<b<<endl; }private: int a
2015-09-06 11:10:28 466
原创 C++内存详解
一.分配方式在C++中,内存分为五个区:堆,栈,自由存储区,全局/静态存储区,常量存储区。栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时,这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆,就是那些由new分配的内存块,他们的释放编译器不会去管,由程序员自己去释放。自由存储区,就是那些由malloc等分配的
2015-09-05 15:55:11 467
原创 关于结构体的操作符重载和定义在内部的函数
首先结构体和类是有相似的地方的,可以进行运算符重载。下面以=为例,#includeusing namespace std;struct P{ int a; int b; //虽然已经对结构体进行=重载,但是这里只是举一个例子而已 P& operator=(P& temp) { a=temp.a; b=temp.b; return
2015-09-03 21:19:40 2622
原创 类继承的各种方式
特征(1代表可以直接使用)公有继承保护继承私有继承公有成员变成派生类的公有成员(类内:1,类外:1)派生类的保护成员(类内:1,类外:0)派生类的私有成员(类内:1,类外:0)保护成员变成派生类的保护成员(类内:1,类外:0)派生类的保护成员(类内:1,类外:
2015-09-02 23:27:38 380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人