C++中方法定义和调用需要注意的一个地方
最近开始认真地再学一下C++的编程,陆续会有一些笔记整理出来。
今天要讲的是,C++程序中,方法之间调用的一个需要注意的地方
例如,我们有一个方法
int maxvalue(int a,int b,int c)
{
if(a
那么请注意了,maxvalue方法是必须定义在main方法之前的,而不能在后面。
下面的代码能编译通过
#include
using namespace std;
i ...
在C++中使用Lambda函数提高代码性能
使编译器以及操作系统从正在创建的应用中榨取更高性能的关键在于提供充足的有关代码意图的信息。在充分了解这个代码意图实现的功能等信息的情况下,就有可能将代码在编译时和运行时的并行吞吐量最大化,令开发者可以将更多精力放在他们所关注的商业领域的问题,将重量级的多核多处理器的任务计划交托给编译器,运行时库以及 ...
不调用拨号网络在程序中拨号
用拨号连接拨号的RasAPI函数为RasDial,其函数原型为:
function RasDial(pRasDialExtensions : LPRASDIALEXTENSIONS;//在WIN9X下无用,可设置为NIL
lpszPhonebook : PChar;//电话本名称,在Win9X下无作用,可为空字符串
lpRasDialParams : LPRASDIALPARAMS;//拨号参数
dwNotifierType : DWORD;//消息通知方式
handle : TRasD ...
关于广播地址的问题
1. TCP/IP协议栈中, 传输层只有UDP可以广播.
2. 只能对同一子网内部广播, 广播数据包不经过路由器.
3. UDP的广播地址为255.255.255.255
4. 在winsock实现中, 有一个选项对应是否允许广播.
必须调用setsockopt打开该选项.
5. 打开后, 用sendto向255.255.255.255发送的数据包全部广播. ...
取得本地internet机器的名字及IP地址
下面的例子使用Winsock API取得本地主机的名字及地址
void __fastcall TForm1::Button1Click(TObject *Sender)
{
hostent *p;
char s[128];
char *p2;
//Get the computer name
gethostname(s, 128);
p = gethostbyname(s);
Memo1->Lines->Add(p->h_name);
//Get the IpAddress
p2 = inet_ntoa(*((in_addr *)p->h_addr));
M ...
一个实用的大小写金额转换程序
AnsiString GetBigMoney(AnsiString s)
{
if ((s.Length()0;oi--)
{ oscc=odxc.SubString(oi0*2+1,2)+oscc; oscc=odxs.SubString(StrToInt(oszc.SubString(oi,1))*2+1,2)+oscc;
oi0++; }
oscc0="";
for (oi=1;oi
delete释放空间时出错的原因
int *a=new int[10];
......
delete []a;
----------------------------------------------------------
当后面delete []a;出现错误的情况大致有:
1.数组的首地址a被你有意无意更改了,如:a++之类的;
2.变量的作用域问题,如:你是在一个函数体中new的,却在另一个函数体中delete,这时的a变量已经失效了,这时delete会 ...
如何使tcp包和udp包穿透防火墙
通过本文的httptunnel 技术同时逃过了防火墙的屏蔽以及系统的追踪试验,我们可以看到网络安全仅仅依靠某种或某几种手段是不可靠的,同时对安全系统的盲目性依赖往往会造成巨大的安全隐患。希望通过本文能引起管理员对网络安全防护系统的思考。
什么是http暗藏通道
什么是局域网安全,系统管理员怎样才能保障局域网的安全? ...
C++中的类静态成员和静态成员函数
(1)为什么需要类静态成员?
有时候某个类的多个对象需要访问一个全局对象,在这种情况下“提供一个全局对象”比“每个类都维持一个独立的数据成员”要更为有效。而类静态成员与全局变量相比,又有两点好处:(a)不存在与程序中其他全局名字冲突的可能性;(b)可设置为private,实现信息隐藏。
(2)类静态成员的特点
对 ...
MIME和BASE64编码/解码程序代码
首先我要在这里向各位纠正我犯在一个错误:Base64 只是MIME的一种编码方案,我原来所说的 MIME 其实是MIME的另一种编码方案 -- Quoted-Printable ,所以我对本文作了一些修正,并对由此而给大家带来的误导表示歉意。 May.6-01
最近在研究 POP3 时碰到一个问题,即其中的中文都是经过 MIME 编码了的,如 MS Outlook Express ...
STL简介
前言
本篇文章是作者本人使用STL 后的一些看法, 对於想要靠此文章学习STL, 是不可能的. 建议叁后面介绍的一些书入门.
STL的概念
在STL 中, 大至上分三个主要的功能. 分别是collect class, (例如 vector ,list , .....), 算法部份(如sort ,find ...), 最是一些工具(如auto_ptr , make_pair ....), 其中以collect class 和算 ...
如何在C++中集成Lua脚本(LuaPlus篇)
去年我作了一个Lua脚本的C++包装,有许多朋友感兴趣,并尝试使用,我感到受宠若惊。事实上,我作的包装,学习的目的比较强,它还是有许多缺陷的。为了让朋友们少走弯路,我推荐使用LuaPlus作为C++的包装。
LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一 ...
实现Cookie
一、在活动的应答项中设置cookie,以及在请求中读同样的cookie. 把Cookies 设置为应答的一部分,使用SetCookieField方法:
TStringList* Cookies = new TStringList();
Cookies->Add("Answer=42"); // whatever...
Response->SetCookieField(Cookies,NULL,NULL,Now()+1,false);
Cookies->Free();
注意:我们使用一个TStringLi ...
一个C++编译器的不完全列表(翻译版)
经C++创始人Bjarne Stroustrup博士同意,我翻译了这篇文章并贴在这里,供选择编译器的朋友参考。欢迎转载,转载请注明出处。
英文版原文在http://www.research.att.com/~bs/compilers.html
我(Bjarne Stroustrup) 常常被提问建议的C++编译器,但是我不做建议,因为那样看起来很像站在商战的某一边。况且,我并不了解每一 ...
手机短信息SMS开发—编码、解码
1、英文编码
缺省的GSM字符集为7位编码,ASCII码为8位编码,编码就是将8位ASCII编码转换为7位编码。
例如:1234 编码后得到31D98C06
2进制表示
8位编码 00110001 00110010 00110011 00110100
7位编码 00110001 11011001 10001100 00000110
通过例子可以看出,将ascii8位编码的Bit8去掉,依次将下7位编码的后几位逐次移到前 ...
用托管C++编写自定义Web组合控件
什么是自定义的组合控件
自定义的Web组合控件正如它名字说的那样:在单个控件中集成了一个或多个服务端程序及HTML控件。自定义的组合控件在功能上与用户控件非常类似,最大的不同之处是,它只存在于它自己的程序集中(或与其他控件共享),能被放在工具条中,并可提供它所包含控件的所见即所得视图方式。
另一方面,自定义W ...
取得汉字的笔画的源码(2)
// 取得汉字的笔画
/*
gb2312_stkcnt.cpp
Retrieve the stroke count of Chinese character.
Support GB2312_80.
Chunhua Liu
Last updated: 2001-11-22/1500
*/
/* D6 */
9, 10, 8, 7, 6, 8, 4, 7,
14, 8, 8, 10, 5, 3, 8, 11,
8, 12, 12, 6, 10, 8, 7, 9,
4, 11, 5, 6, 7, 7, 10, 11, ...
实现应用程序中的并行组件共享(一)
摘要:探讨 Microsoft(R) Windows(R) 2000 和 Windows 98 第二版本中并行共享组件的实现(如 Windows 认证规范中讨论的)。包括新的并行组件的创建以及使用 DLL/COM 重定向处理相同组件的不同版本之间的不兼容性。包括编写和安装并行组件以及重新打包和测试应用程序的指南。
目录
介绍
一点背景知识
新组件共享策略
比较两 ...
Tuples Herb Sutter
就像我上期所报道的一样,在2002十月标准会议上,两个库扩展作为标准库延深,而被通过。
1 是Doug Gregor’s提出的多态函数的object wrappers。
2 Jaakko J?rvi's提出的tuple类型。
这两个都是直接来在Boost项目。(Boost项目是一个C++ libraries 集合)上次,我答应在这期和下一期将介绍这两个扩展的库,这个月,就让我来 ...
蚁群算法小程序(C/C++语言实现)(三)
} /* of have smell to drop */
} /* of have food */
else
/* no food, looking for food */
{
if(ant[AntNow].SmellAmount[SMELL_TYPE_HOME])
{
...