gpt4 book ai didi

c++ - 返回奇数的简单简单模板?

转载 作者:行者123 更新时间:2023-11-30 03:10:26 26 4
gpt4 key购买 nike

阅读前编辑: 抱歉..我没有添加换行符,所以它看起来很困惑,我无法删除问题,因为我还没有注册,抱歉浪费你们的时间伙计们.

我只是第一次使用模板(用于查找两个数字的最小值)而不是宏,我喜欢它!但是当我尝试修改并制作自己的模板时,它完全失败了。这是我的代码:

#include <stdio.h>

template <class T> T min(T a, T b) {
return a < b ? a : b;
};

//My attempt now.. because add could be int, float, etc; I wanted a template.
template <class T> T add(T a, T b) {
return a + b;
};

int main(){

printf("%f\n", min(1.3, 2.2)); //(Does not appear in console?)
printf("%d", add(1, 10)); //1.300000 (how is an int show as float? lol)
printf("%f", add(5.1, 7.34)); //1112.440000
return 0;
}

现在评论中出现了奇怪的结果。Min 工作正常,但是当我将它从比较更改为“a + b”时,它停止了 min 的工作,并给我奇怪的浮点值?!

我是不是用错了? ,它应该是别的东西吗?这意味着什么?我了解基础知识,所以简单的解释就可以了。谢谢!

最佳答案

也尝试在其他行之后添加换行符。

这是怎么回事:

  1. 它打印 min(1.3, 2.2) 也就是 1.300000
  2. 它打印一个换行符
  3. 它打印add(1, 10),即11
  4. 它打印 add(5.1, 7.34) 也就是 12.440000

由于第 3 步和第 4 步之间没有换行符,它会直接打印一个数字,使其看起来像这样:1112.440000

关于c++ - 返回奇数的简单简单模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com