腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
我们可以始终将
C++
函数
声明
为
内联
函数
吗?
c++
、
function
、
c++17
、
inline
我看到了一篇关于具有
内联
函数
的
C++
编译器行为的信息,如下所示: 当使用
内联
声明
函数
时,大多数编译器已经优化代码以在看到提高效率的机会时生成
内联
函数
;即使没有使用
内联
说明符进行显式标记。因此,此说明符仅指示编译器该
函数
首选
内联
,尽管编译器可以不对其
内联
,并以其他方式进行优化。在
C++
中,优化是一个委托给编译器的任务,只要得到的行为是代码指定的行为,编译器就可以自
浏览 8
提问于2022-10-19
得票数 0
回答已采纳
3
回答
为
内联
函数
定义多次,有多大可能?
c++
、
compiler-errors
、
linker
、
inline
下面引用
c++
入门书的话让我很困惑 “可能在程序中多次定义”--这句话让我很困惑。据我所知,可以多次
声明
浏览 0
提问于2018-11-29
得票数 6
回答已采纳
2
回答
为什么类的默认构造
函数
和析构
函数
是
内联
的?
c++
我从 上读到: 如果未为类类型(结构、类或联合)提供任何类型的用户
声明
构造
函数
,编译器将始终将默认构造
函数
声明
为该类的
内联
公共成员。为什么做出这一决定(明确宣布ctors/dtors为
内联
)?编译器可以自由地使用
内联
/非
内联
方式吗?尤其是
内联
函数
可能会对类的客户端造成巨大的损失(有效的
C++
,第30项)?
浏览 5
提问于2017-12-21
得票数 19
回答已采纳
1
回答
在
c++
中
声明
类之外的
函数
有什么好处?
c++
、
function
、
class
、
inline
、
declaration
我对
C++
相当陌生。我遇到了两种在
c++
中
声明
成员
函数
的方法,即。课内和课外。我搜索了这些差异,它说在类中定义的
函数
被视为
内联
函数
。当我之前读到
内联
函数
时,它说
内联
只是对编译器的一个请求,要求它替换
函数
体,而不是调用
函数
。但是如果
函数
是复杂的(比如递归,包含静态变量,开关等等)然后编译器将忽略请求。因此,即使我们在类中
声明
函数
,
浏览 3
提问于2019-11-06
得票数 6
回答已采纳
3
回答
内联
函数
的前向
声明
c++
、
c
、
inline
、
c99
、
forward-declaration
我有一个头文件,它将包含大量(30+)
内联
函数
。此外,我希望读者养成使用
函数
而不必查看其实现的习惯。FYI,我使用编
浏览 2
提问于2012-02-16
得票数 20
回答已采纳
1
回答
标准是否指定哪些
函数
是
内联
声明
的?
c++
、
c++11
、
standards
因此,问题是,最新的标准是否指定标准
C++
库中的
函数
何时
内联
声明
? 查看Clang、GCC和MSVC实现中的algorithm头文件,每个
函数
都是
内联
声明
的,除了那些属于constexpr的
函数
。我本来打算继续问什么时候
内联
,什么不是,但我不想像往常一样争论编译器是如何更好地或微观优化的,所以我甚至不应该让这句话停留在问题中。哦等等..。
浏览 5
提问于2016-01-01
得票数 2
回答已采纳
1
回答
C++
内联
函数
和重
声明
c++
、
inline
、
declaration
、
redeclaration
由于GCC完全忽略了
内联
说明符,所以我很难知道
函数
何时被我标记为
内联
。我想要理解的是,当你有相同
函数
的一些重
声明
(在相同的翻译单元中或在不同的翻译单元中)时,你的
函数
在什么时候或在什么情况下被标记为
内联
或非
内联
(不管编译器会用你的提示做什么)。例如:或者:inline print(); 用不同的
内联
说明符重新
声明
一
浏览 6
提问于2014-05-12
得票数 0
1
回答
具有内部和外部链接以及编译器优化的
内联
函数
之间有什么实际区别吗?
c++
、
language-lawyer
、
compiler-optimization
、
inline-functions
因此,通过编译器优化,可能不会为该
函数
发出任何符号。内嵌
函数
应在使用odr的每个翻译单元中定义,并在每种情况下具有完全相同的定义。如果
函数
的定义在第一次
声明
为
内联
之前出现在翻译单元中,则程序的格式不正确。如果在一个翻译单元中宣布具有外部链接的功能为
内联
,则应在其出现的所有翻译单位中宣布其为
内联
;不需要诊断。与C不同的是,当
内
浏览 3
提问于2021-11-14
得票数 3
回答已采纳
3
回答
在
C++
中
声明
内联
但实际上不是
内联
函数
是合法的
c++
、
inline
only, with `inline`void func(void) { balabala(); }func(); // call the func为什么需要这样:我有一些宏生成的
函数
,可以或不可能只在头中
声明
,所以我希望这个宏可以不用显式地指定
内联
或不行。 而且,我知道这个
函数
可以被包装类包装为在标头
浏览 2
提问于2017-03-21
得票数 1
回答已采纳
2
回答
什么是“外部
内联
”功能以及何时使用?
c++
、
c++14
在最新的
C++
草案中有这样的事情:
内联
功能应在使用odr的每个翻译单元中定义,并在每种情况下具有完全相同的定义(3.2)。注意:在定义出现在翻译单元之前,可能会遇到对
内联
函数
的调用。-尾注如果
函数
的定义在第一次
声明
为
内联
之前出现在翻译单元中,则程序的格式不正确。如果一个具有外部链接的
函数
在一个翻译单元中被
声明
为
内联
,则在它出现的所有翻译单元中,它应被
声明
为
内联</
浏览 4
提问于2014-12-24
得票数 12
3
回答
C++
类中的
内联
规则是什么?
c++
、
inline
根据我很久以前读到的内容,如果你想在编译阶段
内联
类成员
函数
,那么这个
函数
必须在类
声明
块中定义。通常来说,在类
声明
块中保留简短的成员
函数
更好吗?
浏览 1
提问于2012-06-03
得票数 4
回答已采纳
2
回答
为什么‘`inline`’关键字存在于
C++
中?
c++
我正在通过
c++
学习。 在上面的页面和中,它说现代编译器足够聪明,可以决定哪一方在
函数
内联
方面具有更好的性能。在大多数情况下,编译器比人类更聪明。所以,我想,如果我们想要强制编译器将
函数
看作
内联
函数
,我们可以使用inline关键字,但事实并非如此。它说,即使
函数
被
声明
为
内联
,编译器也可以(而且通常会)忽略关键字。这是否意味着
函数
的
内联
性不是由inline关键字决定的,而是意味着编译器有最终的特权来决
浏览 2
提问于2020-04-03
得票数 2
回答已采纳
3
回答
为什么会有
内联
函数
声明
而不是
内联
函数
调用?
c++
C++
(和其他各种语言)支持
内联
函数
。如果我希望一个
函数
是
内联
的,我必须在
声明
中使用inline关键字。对我来说,这是非常不直观的:为什么我不能在调用
函数
时只使用inline?示例:inline foo();inline void foo(...){...}这将允许我只在特定的地方
内联
该
函数
,而不必重复该功能。此外,每个功能都可以
内联
,这将使机制更加灵活。
浏览 1
提问于2018-01-24
得票数 5
回答已采纳
1
回答
应该在
C++
中
内联
声明
函数
的时间
c++
、
coding-style
我正在尝试使用一些
C++
良好实践重写我不久前编写的一些代码。为了实现这样的目标,我使用有效
C++
(1)和谷歌编码约定 (2)作为参考。根据(2),如果
函数
为10行或更少,则应将其
声明
为
内联
函数
,根据(1)此外,编译器可以忽略
内联
指令,例如,当存在循环或递归时(仅提供一些示例,因此我不知道编译器将忽略的所有情况)。假设我有两个
函数
,第一个是10行,没有调用任何其他
函数
,一般也没有外部引用。f
内联
,因为谷歌的建议(完全
浏览 0
提问于2017-01-05
得票数 6
3
回答
什么是方法
内联
?
java
、
function
、
methods
我一直在努力理解这句话的真正含义: 在
C++
中,在类
声明
中定义的成员
函数
。(2)编译器用
函数
的实际代码替换的
函数
调用。关键字
内联
可用于提示编译器执行成员或非成员
函数
主体的
内联
扩展。
内联
你能给我举个例子或做些什么吗?或者基本上可
浏览 0
提问于2010-10-13
得票数 44
回答已采纳
2
回答
模板内嵌
函数
的优点
c++
、
templates
、
inline
根据标准,
C++
中成员
函数
的
内联
定义与使用inline关键字
声明
成员
函数
相同。记住,我编写的大多数模板只包含
内联
函数
,因为这样代码就更短了(
函数
的主体也必须在头中,这样才能从多个.cpp文件中使用,因此可以说它只会减缓解析速度)。 (理智的)编译器现在是否尝试
内联
所有
函数
?在实践中将
内联
成员
函数
定义为inline有什么好处(参见下面的示例)?从现在开始,我应该避免在模板中编写<em
浏览 0
提问于2014-05-21
得票数 2
回答已采纳
3
回答
是否有方法在Swift中
声明
内联
函数
?
swift
、
optimization
、
inline-functions
我想
声明
一个
内联
函数
,就像在
C++
中一样,所以我的func
声明
如下所示: ...我想做这样的事情: ...我试着在网上搜索,但是我没有找到任何相关的东西,也许没有inline关键字,但是也许有另一种方法可以在Swift中
内联
这个
函数
浏览 5
提问于2015-01-10
得票数 49
回答已采纳
3
回答
跨翻译单元的自动
内联
函数
和gcc 4.6
c++
、
c
、
gcc
如果我没有将
函数
f
声明
为
内联
函数
。(可能两个步骤都使用-O3 )在一次代码审查中,有人建议我不应该将
函数
声明
为
内联
,因为编译器比我更清楚何时
内联
。我一直认为,除非
函数
是在头文件中定义的,否则编译器没有
内联
它的选项。 (如果C模式、
C++
模式或gnu++0x模式的答案不同,请同时指出这一点)
浏览 0
提问于2012-03-19
得票数 6
回答已采纳
3
回答
编译器是否更有可能在类
声明
中使用指定的
内联
关键字
内联
函数
?
c++
、
inline
、
compiler-warnings
、
compiler-optimization
我最近正在检查一位同事的代码,并注意到他将“
内联
”关键字放在了一堆在类
声明
中定义的Getter
函数
的前面。,正如我在许多不同的地方看到的,定义类
声明
中的
函数
被编译器(本例中是MSVC,但显然是
C++
标准的一部分)解释为表示作者希望将
函数
内联
。他的答复如下:
内联
关键字向与此代码交互的其他程序员表明,这些
函数
是/应该
内联
的。在这种情况下,许多编译器仍然会考虑
内联
关键字,
浏览 11
提问于2015-11-11
得票数 6
回答已采纳
1
回答
可以在程序中多次定义
内联
函数
或constexpr
函数
吗?
c++
、
constexpr
我正在读
C++
底本。对于像我这样的初学者来说,我觉得这真的很有趣,也很容易理解。但当我谈到这个话题时: 与其他
函数
不同,
内联
函数
和constexpr
函数
可以在程序中多次定义。毕竟,编译器需要定义,而不仅仅是
声明
,才能扩展代码。但是,给定的
内联
或constexpr的所有定义都必须完全匹配。因此,
内联
函数
和constex
浏览 0
提问于2019-04-09
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Kotlin 进阶用法:内联函数
Go 中对栈中函数进行内联
JavaScript中函数声明与函数表达式的区别
VBA中API函数声明系列之七
你对C+中的内联函数真的很了解吗
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券