11 2013 档案

摘要:从小到大排序根据指针获取当前id,并设置前指针,方便操作:// test1107.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include "memory.h"#include #include #include "string.h"typedef struct LINK{ int id; LINK *next;}Link;typedef struct LL{ Link *root; int num;}Ll;void insert(Ll 阅读全文
posted @ 2013-11-18 20:34 xingoo 阅读(987) 评论(0) 推荐(0) 编辑
摘要:声明一个结构体的时候,因为考虑到内存的对齐。例如,int型的变量,需要4个字节,那么它在存储的时候就需要在地址能够被4个字节整除的地方开始申请。例如我们申请下面这样的一个结构体:struct{char a;int b;char c;} node1;在内存分配的时候,char占一个字节,int 占四个字节。c语言在进行内存分配的时候,需要根据最大的宽度来进行分配。如我们例子中,int需要4个字节,在分配char型的时候,虽然char只占用一个字节,但是也需要从4个字节的位置开始分配。分配的内存如下:a- - - b c - - - a分配结束后,要自动填充3个字节,再分配b,然后是c... 阅读全文
posted @ 2013-11-14 22:07 xingoo 阅读(1737) 评论(1) 推荐(2) 编辑
摘要:虚函数代码如下定义:// test1107.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;class father{public: int f_age; std::string f_name; father(int a = 1,std::string n = ""):f_age(a),f_name(n){} virtual int get_age(){return f_age;} };class son : public father{publ 阅读全文
posted @ 2013-11-13 21:39 xingoo 阅读(343) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2013-11-13 21:06 xingoo 阅读(217) 评论(0) 推荐(0) 编辑
摘要:通过下面primer中的一道习题,可以更深刻的了解,析构函数,复制构造函数,赋值操作符重载,默认构造函数的使用。但是我的结果与primer习题解答里面的并不相同,可能是编译器不同的原因导致。// test1107.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;struct Exam{ Exam(){ cout exec(3); //调用默认构造函数创建对象 //调用赋值构造函数将临时对象复制到每个元素 ... 阅读全文
posted @ 2013-11-12 20:29 xingoo 阅读(398) 评论(0) 推荐(0) 编辑
摘要:复制构造函数只有单个形参,而且该参数是对本类类型对象的引用。主要用于:1 根据另一个同类型的对象显示或隐式的初始化一个对象string a = "abc"; //调用复制构造函数将a初始化为abcstring aa = string(); //调用string()的构造函数,创建一个新的对象,再调用 复制构造函数初始化aastring aa(5,"c"); //直接初始化2 复制一个对象,将它作为实参传给一个函数3 从函数返回时复制一个对象AA function(AA& a){... return a; }4 初始化顺序容器中的元素vector 阅读全文
posted @ 2013-11-11 20:08 xingoo 阅读(600) 评论(0) 推荐(0) 编辑
摘要:void function() const{}通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢?看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误// test1107.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;class aa{ int num;public: aa(){ int b =10; num = b; }; void out1(){ cout<<num<<endl; } ... 阅读全文
posted @ 2013-11-07 18:35 xingoo 阅读(46982) 评论(2) 推荐(9) 编辑
摘要:explicit关键字这个关键字原则上只对构造函数起作用,抑制阴性转换,例如:class String{ String(int size); //本意是要申请size大小的字符串};如果此时调用String s1(20); //成功申请20个大小长度的字符串String s2 = 20; //同上String s3 = 'a'; //本意是要把a赋值给s3,结果是 申请了a字符对应大小的字符串此时原函数声明变成class String{ explicit String(int size);};这样就会抑制s3 = 'a'的 隐形转换static_cast利用原值 阅读全文
posted @ 2013-11-06 20:19 xingoo 阅读(461) 评论(0) 推荐(0) 编辑
摘要:使用背景通常,在做高性能计算时,我们需要随机的连接某些点。这些点都具有自己的度量值,显然,度量值越大的值随机到的概率就会越大。因此,采用加权值得方法:void getdegreeSum(DG *g){ memset(degreeSum,0,sizeof(uint)*MAXSIZE); uint i,last=0; for(i=0;in);i++){ degreeSum[i] = g->v[i].desum+last; last = degreeSum[i]; }}这样degreeSum[]数组中存储的即是一个有序的数组,随机生成rand(... 阅读全文
posted @ 2013-11-05 14:50 xingoo 阅读(946) 评论(0) 推荐(0) 编辑
摘要:1 常用的距离矢量路由:IP RIP、IGRP等等2 距离矢量算法让路由器向每个邻居周期性的发送完整的路由表,包括每个网络或者子网的信息,相关的度量值等等3 专业术语:术语 描述毒化路由以前有效的路由,现在变成了无穷大的度量值。毒性反转以前因为水平分割不通告,但是现在以无穷大通告的路由水平分割接口特性,默认启动,限制每个接口发出的路由更新。对于一个指定的接口任何出口为这个接口的路由都将不能记录在从这个接口触发的路由更新中无穷大路由器失效的路由的度量值。最大条数为15,16为无穷大抑制当路由失效时,路由器使用一个计时器(抑制计时器)确定忽略新学到的替代路由的时间。计时器过了之后,才会更新触发更新 阅读全文
posted @ 2013-11-04 22:17 xingoo 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:随机数生成有两种方法,一种是主机上生成拷贝到设备上,另一种是直接主机上调用,在设备上生成:下面就是关于这两种方法的速度测试:int main(){ clock_t start,finish; int *d_data; int m = 1000; CUDA_CALL(cudaMalloc((void **)&d_data, m*sizeof(int))); int rand1[1000]; start = clock(); memset(rand1,0,m*sizeof(int)); for(int i=0;i<m;i++) ... 阅读全文
posted @ 2013-11-04 09:23 xingoo 阅读(481) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示