1 int get_SG(int x) 2 { 3 if (SG[x]!=-1) 4 return SG[x]; 5 bool v[110]={0}; 6 for (int i=1;i=0) 8 v[get_SG(x-s[i])]=1...
分类:
其他好文 时间:
2014-08-27 18:38:48
阅读次数:
155
模板与泛型编程--模板编译模型引言: 当编译器看到模板定义的时候,它不马上产生代码。仅仅有在用到模板时,假设调用了函数模板或定义了模板的对象的时候,编译器才产生特定类型的模板实例。 一般而言,当调用函数时[不是模板],编译器仅仅需看到函数的声明。相似的,定义类类型的对象时,类定义必须可用,但成员函数...
分类:
编程语言 时间:
2014-08-26 19:11:16
阅读次数:
288
c:\program files\microsoft visual studio 10.0\vc\include\xmemory(48): error C2558: class“CDataRecv”: 没有可用的复制构造函数或复制构造函数声明为“explicit”
1> c:\program files\microsoft visual studio 10.0\vc\include\xmemory(197): 参见对正在编译的函数 模板 实例化“void std::_Construct<C...
分类:
其他好文 时间:
2014-08-26 11:47:26
阅读次数:
230
前言从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。这个table就像是一...
分类:
其他好文 时间:
2014-08-20 20:50:02
阅读次数:
397
C++中的traits常用于STL中,用来提取类型信息。
比如定义一个函数模板,模板参数为T类型,返回T类型的值。
template
typename T::value_type f(T iter)
{
return *iter;
}
这个函数的返回值类型是T::value类型,这样T的类型是vector listdeque等类型时,都可以处理。但有一个例外,即T是普通指针类...
分类:
编程语言 时间:
2014-08-20 12:30:32
阅读次数:
455
求变量的数据类型,通过函数typeid(变量名).name();获得变量的数据类型。
案例如下:
#include
#include
void
main()
{
double
db = 10.9;
double *pdb
= &db;
auto
num =
pdb;
//...
分类:
编程语言 时间:
2014-08-17 02:36:51
阅读次数:
402
??
1.函数模板初级,如果想使用模板,需要实例化,实例化的方式是加上数据类型>
#include
//函数模板可以对类型进行优化重载,根据类型会覆盖
//如果仍然要使用模板函数,需要实例化
templateclass
T>
T
add(T
a,
T
b)
{
std::cout
"T add " <<...
分类:
其他好文 时间:
2014-08-17 01:07:21
阅读次数:
292
统一资源管理:在win32编程中,为方便项目中的资源统一管理,提供了一个格式统一的资源文件,对各种资源进行管理。它的扩展名是.rc,在程序编译时它会被资源编译器编译生成一个.res的二进制文件。rc文件的语法:1.注释:注释方式和 C 语言相通,单行注释用 // 符号,多行注释用 /* ... */...
1.函数可以和类一样定义为模板函数。模板函数与模板类最大的不同是:模板函数可以通过函数的参数确定模板类型。template T&lookup(string &s,const int n){......}string s;int x=0;lookup(s,x);//这里自动识别到T就是float类模板...
分类:
其他好文 时间:
2014-08-14 00:48:57
阅读次数:
307
1 筛选法欧拉函数 2 int euler[3000001]; 3 void getEuler() 4 { 5 memset(euler,0,sizeof(euler)); 6 euler[1] = 1; 7 for(int i = 2; i 1)ans -= ans/n...
分类:
其他好文 时间:
2014-08-13 18:39:07
阅读次数:
175