60分求解:仿函数和合法的判断式

bsnry 2012-02-29 09:55:45

并非所有的返回值的函数都是合法的判断式子。可能会导致很多出人意外的行为。  


怎么理解??

谁举个简单的例子, 会出现什么意外, 不会啊
...全文
197 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
恨天低 2012-03-01
  • 打赏
  • 举报
回复
看不出和仿函数有没关系。


仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。
振翅高飞 2012-02-29
  • 打赏
  • 举报
回复

#include <stdio.h>
int Test(int a)
{
if(0<a)
{
return -1;
}
else if(0==a)
{
return 0
}
else
{
return 1;
}
}

int main()
{
int a;
scanf("%d",&a);
if(Test(a))//只要不为0就是true 但是到底是正数还是负数???
{
printf("你输入的是负数还是正数,你猜呢?\n");
}
return 0;
}

振翅高飞 2012-02-29
  • 打赏
  • 举报
回复

#include <stdio.h>
int Test(int a)
{
if(0<a)
{
return -1;
}
else if(0==a)
{
return 0
}
else
{
return 1;
}
}

int main()
{
int a;
scanf("%d",&a);
if(Test(a))//只要不为0就是true 但是到底是正数还是负数???
{
printf("你输入的是负数还是正数,你猜呢?\n");
}
程序员小迷 2012-02-29
  • 打赏
  • 举报
回复
LZ说的和仿函数没啥关系吧

这个道理很简单啊,比如strcmp(str1, str2),如果相等返回0

if(strcmp(str1, str2))
{
// i thought that str is equal to str2, but it's wrong!!!!
.....
}

就是程序员可能不小心看错一些函数的返回值,以为是什么样子的。。
这句话是说程序员都会犯错,任何标准都可能有让人误解的地方


1楼说的没道理,和你问的没关系
bsnry 2012-02-29
  • 打赏
  • 举报
回复
这是stl ?? 仿函数???




[Quote=引用 5 楼 hondely 的回复:]

引用 2 楼 sunyongliang118 的回复:
C/C++ code


#include <stdio.h>
int Test(int a)
{
if(0<a)
{
return -1;
}
else if(0==a)
{
return 0
}
else
{
return 1;
}
}

int main()
{
int a;
scanf……
[/Quote]
hondely 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunyongliang118 的回复:]
C/C++ code


#include <stdio.h>
int Test(int a)
{
if(0<a)
{
return -1;
}
else if(0==a)
{
return 0
}
else
{
return 1;
}
}

int main()
{
int a;
scanf("%d",&a);
if(Test(a))……
[/Quote]

正解
xiyoulaoyuanjia 2012-02-29
  • 打赏
  • 举报
回复
if判断是2元行为,如果一个返回值包含大于2种可能的行为。则判断可能出错。。。例子。。。。
bsnry 2012-02-29
  • 打赏
  • 举报
回复
回答的对么
内容概要:本文介绍了一种基于双向DC-DC变换器的储能电池SOC(State of Charge,荷电状态)充放电双模Simulink仿真模型,旨在实现对储能系统在充电和放电两种工况下的精确建模与动态控制。仿真系统结合了电力电子变换器的拓扑结构与电池等效电路模型,通过闭环控制策略实时调节充放电电流,确保电池工作在安全高效的SOC区间内。模型充考虑了能量双向流动特性,支持能量回馈与吸收,适用于微电网、电动汽车及可再生能源系统中的能量管理场景。通过仿真可验证控制算法的有效性,优化系统动态响应与能量利用效率。; 适合人群:具备电力电子、自动控制及新能源系统基础知识,从事电气工程、自动化、能源系统等相关领域的科研人员与工程技术人员,尤其适合研究生及从事储能系统仿真与控制开发的工程师。; 使用场景及目标:①研究储能系统在微电网中的能量调度与平抑功率波动能力;②验证双向DC-DC变换器在电池充放电切换过程中的稳定性与效率;③优化基于SOC反馈的充放电控制策略,防止过充过放,延长电池寿命;④为实际储能系统控制器设计提供仿真验证平台。; 阅读建议:建议结合Simulink模型文件与控制算法说明文档同步学习,重点关注变换器控制逻辑、SOC估算模块与充放电模切换机制,可通过调整参数进行对比仿真,深入理解系统动态特性与控制性能。
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 在Microsoft的视窗系统中,有时我们需要确认文件的完整性与一致性,这时MD5校验和显得十关键。MD5(Message-Digest Algorithm 5)是一种被广泛应用的哈希函数,它能够将文件数据转化为固定长度的数字性摘要,一般表现为32位的16进制数值。该种摘要对于文件内容具有独特性,即便文件内容有微小的改动,MD5数值也会发生显著变化。接下来将具体阐述在Microsoft视窗的命令行环境中如何运用`md5sum`软件来计算文件的MD5数值。1. **MD5的本质及其应用** MD5是一种哈希技术,主要应用于数据完整性验证,例如在下载文件后核实其与原始文件是否一致,或在密码存储时进行单向加密处理。尽管MD5的防护能力已无法满足高安全级别的需求,但在文件完整性验证方面仍然被广泛采用。2. **Microsoft视窗中的`md5sum`软件** 在Linux系统中,`md5sum`命令是系统自带的,而在Microsoft视窗系统中则需要额外进行安装。用户可以下载适用于Microsoft视窗的`md5sum`软件,比如GnuWin32项目提供的版本。安装完成后,`md5sum.exe`会被添加至系统的PATH环境变量中,从而可以在命令行界面中直接使用。3. **`md5sum`软件的使用方法** 在命令行提示符(通过按Win + R键,输入`cmd`后按下回车键)中,输入下列格的指令来计算文件的MD5数值: ``` md5sum 文件路径 ``` 举例来说,若要计算名为`example.txt`的文件的MD5数值,指令应为: ``` md5sum example...

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧