整数文字作为 cpp 中函数声明的参数

发布于 2025-01-13 04:21:05 字数 439 浏览 0 评论 0原文

我几乎熟悉 cc++ 编程。今天在搜索函数声明的时候,突然发现了c++语言中的一个奇怪的语法。
我写了下面的代码:

#include <iostream>
using namespace std;
int foo('3');
int bar(3);
int main(){
    
}

我从未见过将文字定义为函数参数!所以我预计在编译这个程序时会出现编译错误:

$ g++ file.cpp

但它编译没有任何问题!
所以我很好奇int foo('3');int bar(3的含义用法是什么); 行?

I'm almost familiar with c and c++ programming. Today I was searching about function declaration when I suddenly came across a strange syntax in c++ language.
I wrote below code:

#include <iostream>
using namespace std;
int foo('3');
int bar(3);
int main(){
    
}

I've never seen defining the literals as function parameters! So I expected to get compile error when I compile this program:

$ g++ file.cpp

But it compiled without any problem!
So I'm curious to know what's the meaning and usage of int foo('3'); and int bar(3); lines?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮邮递员 2025-01-20 04:21:05

它分别表示 int foo = '3';int bar = 3;

但它并不完全等同,例如,类 = 不允许使用 显式 构造函数。

It means int foo = '3'; and int bar = 3; respectively.

But it's not exactly equivalent, e.g. with classes = doesn't permit explicit constructors.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文