随笔 - 62  文章 - 96  trackbacks - 0
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

留言簿(7)

随笔分类(66)

随笔档案(62)

文章分类(31)

文章档案(32)

友情链接

最新随笔

积分与排名

  • 积分 - 234754
  • 排名 - 108

最新评论

阅读排行榜

评论排行榜

模板作用域中的模板类型引用。
template <class elemType> class ListItem;
template <class elemType> class List
{
	public:
		List<elemType> ();
		~List();
	private:
		//ListItem *front;
		//ListItem *end;
		ListItem<elemType> *front;
		ListItem<elemType> *end;

};
通常使用类模板的名字的时候,必须指定模板形参。
但在类本身的作用域内部,可以使用类模板的非限定名。
例如:List是List<elemType>的缩写。
但编译器不会为类中使用的其他的模板形参进行这样的推断,因此必须指定类型形参。
例如在List模板类中使用ListItem模板类时,
ListItem *front 是错误的
ListItem<elemType> *front 才是正确的。
posted @ 2007-01-30 18:04 beyonlin 阅读(596) | 评论 (0)编辑 收藏
#include<cstdio>
using namespace std;
template<class T, class T1, class T2>
T sum(T1 v1, T2 v2)
{
	T value = v1 + v2;
	return value;
}
int main()
{
	int i = sum<int>(1,2.1);//调用正确。
	return 0;
}
#include<cstdio>
using namespace std;
template<class T1, class T2, class T>
T sum(T1 v1, T2 v2)
{
	T value = v1 + v2;
	return value;
}
int main()
{
	int j = sum<int>(1,2.1);//调用错误。
	int k = sum<int, int, double>(1,2.1);//调用正确。
	return 0;
}
这两种区别就在于template的定义:
template<class T, class T1, class T2>
与
template<class T1, class T2, class T>
显式模板实参与对应模板形参相匹配。
int j = sum<int>(1,2.1);
在这个调用中,int对应的是T1, 没有实参的类型可以推断T的类型,故该调用是错误的。
posted @ 2007-01-22 23:50 beyonlin 阅读(498) | 评论 (0)编辑 收藏

工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis)
在“工具→参数选择→用户工具”选项页设置,设置步骤
① 设置组名称,这里也可以不设置
② 单击“添加工具→应用程序”按钮并进行如下设置
③ 各种类似"$(FilePath)"的参数可以在文本框右侧的箭头下拉菜单中获取,具体含义如下
参数 描述
$(FilePath) 文件路径(文件全名,含目录和文件名)
$(FileDir) 文件目录(不带文件名)
$(FileName) 文件名(不带目录)
$(FileNameNoExt) 不带扩展名的文件名(不带目录)
$(FileExt) 扩展名(当前文件)
$(ProjectName) 工程名称(当前工程名)
$(CurLine) 当前行号(光标位置处的行号)
$(CurCol) 当前列号(光标位置处的列号)
$(CurSel) 当前文本(插入当前选定文本)
$(CurWord) 当前单词(插入当前单词)
$(WindowList) 显示当前窗口列表并选择特定文件


例子 1. Java 编译器

菜单文本:Java 编译器
命令:c:\java\bin\javac.exe
参数:"$(FilePath)"
初始目录:$(FileDir)
捕获输出:开启

要运行已编译的 Java 类文件,你可以进行如下设置:
菜单文本:Java
命令:c:\java\bin\java.exe
参数:$(FileNameNoExt)
初始目录:$(FileDir)
“命令”部分应当替换为实际的 Java 解释器的路径。

例子 2. Borland C++

菜单文本:Borland C
命令:c:\bc\bin\bcc32.exe
参数:-Ic:\bc\include -Lc:\bc\lib -n$(FileDir) $(FilePath)
初始目录:c:\bc\bin
捕获输出:开启

例子 3. Visual C++

菜单文本:Visual C++
命令:c:\msdev\vc98\bin\cl.exe
参数:"$(FilePath)"
初始目录:$(FileDir)
捕获输出:开启

例子 4. Inno Setup
菜单文本:编译 Inno
命令:C:\Program Files\Inno Setup 4\Compil32.exe”
参数:/cc $(FileName)
初始目录:$(FileDir)
捕获输出:开启

例子 5. nsis
菜单文本:编译 nsis
命令:C:\NSIS\makensis.exe
参数:$(FileName)
初始目录:$(FileDir)
捕获输出:开启

例子 6. C#
菜单文本:编译 C#
命令:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe
参数:$(FileName)
初始目录:$(FileDir)
捕获输出:开启

在上面设置中,在命令部分,必须使用系统中各自编译器的绝对路径。

设置完毕后,你可以在“工具”菜单运行对应工具了,运行结果会显示在底部的输出窗口,你也可以通过快捷键(Ctrl + 0-9) 运行,或者是通过“用户工具栏”的快捷按钮运行。

要运行已编译的 *.exe 文件,你可以进行如下设置(此时可执行文件需要和编译文件同名):
菜单文本:Run
命令:$(FileNameNoExt)
参数:
初始目录:$(FileDir)

 

posted @ 2006-12-17 01:00 beyonlin 阅读(2700) | 评论 (0)编辑 收藏
泛型编程的两个重要原则
  • 模板的形参是const引用。
  • 函数体中的测试只用<比较。
    形参用const参数可以使函数运行得更加快。
    只用<比较对参数类型的要求:只须支持<,但不必支持>。
  • posted @ 2006-11-20 00:46 beyonlin 阅读(274) | 评论 (0)编辑 收藏
    这几天为学院的Flash_Dv大赛做了一个投票系统。
    为了尽量减少漏洞,我上网查了一下关于投票系统的漏洞问题。
    从下面的文章中我才知道验证码的重要性:http://blog.csdn.net/fiso/archive/2004/11/23/192855.aspx
    这是关于验证的一点介绍:
            目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输 入表单提交网站验证,验证成功后才能使用某项功能。

    PHP代码实现:
    <?php
    //生成验证码图片
    Header("Content-type: image/PNG"); 
    srand((double)microtime()*1000000);
    $authnum=rand(1000,9999);
    setcookie("authnum",$authnum);//用cookie保存生成四位整数

    $im = imagecreate(62,20);
    $black = ImageColorAllocate($im, 0,0,0);
    $white = ImageColorAllocate($im, 255,255,255);
    $gray = ImageColorAllocate($im, 200,200,200);
    imagefill($im,0,0,$gray);


    //将四位整数验证码绘入图片
    imagestring($im, 5, 10, 3, $authnum, $black);
    for($i=0;$i<200;$i++) //加入干扰象素
    {
        $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    ImagePNG($im);
    ImageDestroy($im);
    ?>
    posted @ 2006-11-06 23:58 beyonlin 阅读(669) | 评论 (0)编辑 收藏
    仅列出标题
    共12页: 1 2 3 4 5 6 7 8 9 Last