Questions tagged «inline»

将此标签与相应的语言标签一起用于专门针对inline关键字的影响的问题。

3
在C99中,没有“静态”或“外部”的“内联”曾经有用吗?
当我尝试构建此代码时 inline void f() {} int main() { f(); } 使用命令行 gcc -std=c99 -o a a.c 我收到一个链接器错误(对的未定义引用f)。如果我使用static inline或extern inline而不是just inline,或者使用进行编译,则该错误消失-O(因此该函数实际上是内联的)。 这种行为似乎在C99标准的6.7.4(6)段中定义: 如果翻译单元中某个函数的所有文件范围声明都包含inline不带的函数说明符extern,则该翻译单元中的定义为内联定义。内联定义不为函数提供外部定义,也不禁止在另一个翻译单元中使用外部定义。内联定义提供了外部定义的替代方法,翻译器可以使用该替代方法在同一翻译单元中实现对该函数的任何调用。未指定对函数的调用是使用内联定义还是使用外部定义。 如果我正确理解了所有这些内容,则具有inline上面示例中定义的功能的编译单元仅在存在相同名称的外部函数的情况下一致地编译,并且我永远不知道自己的函数还是外部函数被调用。 这种行为不是完全愚蠢吗?在inline不使用C99的情况下static或extern在C99中定义功能是否有用?我想念什么吗? 答案摘要 当然,我错过了一些东西,而且行为也不愚蠢。:) 正如Nemo解释的那样,想法是放置函数的定义 inline void f() {} 在头文件中,只有一个声明 extern inline void f(); 在相应的.c文件中。仅extern声明触发外部可见的二进制代码的生成。inline在.c文件中确实没有使用-仅在标头中有用。 正如乔纳森回答中所引用的C99委员会的基本原理所阐明的那样,inline所有内容都与编译器优化有关,该优化要求函数定义在调用现场可见。这只能通过将定义放在标头中来实现,当然,标头中的定义一定不能在每次编译器看到它时都发出代码。但是由于没有强制编译器实际内联函数,因此外部定义必须存在于某处。
96 c  inline  c99 


8
类内部或外部的函数声明
我是一名尝试学习C ++的JAVA开发人员,但我真的不知道标准函数声明的最佳实践是什么。 在课堂里: class Clazz { public: void Fun1() { //do something } } 或外面: class Clazz { public: void Fun1(); } Clazz::Fun1(){ // Do something } 我觉得第二个可能不太可读...
91 c++  inline 

8
HTML:更改文本字符串中特定单词的颜色
我收到以下消息(略有更改): “在2011年1月30日之前参加比赛,您将有机会赢得$$$$,包括令人兴奋的夏季旅行!” 我目前有: <p style="font-size:14px; color:#538b01; font-weight:bold; font-style:italic;"> 格式化文本字符串,但要将“ 2011年1月30日”的颜色更改为#FF0000,将“夏季”的颜色更改为#0000A0。 如何使用HTML或内联CSS严格执行此操作?
89 html  css  text  colors  inline 

1
何时应在Rust中使用内联?
Rust具有“内联”属性,可用于以下三种口味之一: #[inline] #[inline(always)] #[inline(never)] 什么时候应该使用它们? 在Rust参考中,我们看到一个内联属性部分, 编译器会根据内部启发法自动内联函数。不正确的内联函数实际上会使程序变慢,因此应谨慎使用。 在Rust内部知识论坛中,huon在指定inline方面也很保守。 但是我们在Rust源中看到了很多用法,包括标准库。许多内联属性被添加到单行函数中,对于编译器来说,根据参考文献,通过启发式方法可以很容易地发现并优化它们。实际上不需要那些吗?

6
反应:内联有条件地将prop传递给组件
我想知道是否有比使用if语句更好的有条件地传递道具的方法。 例如,现在我有: var parent = React.createClass({ propTypes: { editable: React.PropTypes.bool.isRequired, editableOpts: React.PropTypes.shape({...}) }, render: function() { if(this.props.editable) { return ( <Child editable={this.props.editableOpts} /> ); } else { // In this case, Child will use the editableOpts from its own getDefaultProps() return ( <Child /> ); } } }); 没有if语句,有没有办法写这个?我正在按照JSX中的一种inif-if语句的方式思考: var …


5
.cpp文件中的C ++内联成员函数
我知道,按定义,内联成员函数应该放在标题中。但是,如果不可能将函数的实现放到标题中怎么办?让我们来考虑这种情况: 文件啊 #pragma once #include "B.h" class A{ B b; }; 文件Bh #pragma once class A; //forward declaration class B{ inline A getA(); }; 由于包含了通知,我不得不将实施getA纳入 丙型肝炎 #include "B.h" #include "A.h" inline A B::getA(){ return A(); } 编译器会内联getA吗?如果是这样,哪个内联关键字是有效的关键字(标题中的关键字还是.cpp文件中的关键字)?还有另一种方法可以将内联成员函数的定义放入其.cpp文件中吗?
76 c++  function  inline  member 

5
如何使用:before和:after创建内联样式
我从中产生了一个泡泡聊天 http://www.ilikepixels.co.uk/drop/bubbler/ 我在页面中放了一个数字 .bubble { position: relative; width: 20px; height: 15px; padding: 0; background: #FFF; border: 1px solid #000; border-radius: 5px; } .bubble:after { content: ""; position: absolute; top: 4px; left: -4px; border-style: solid; border-width: 3px 4px 3px 0; border-color: transparent #FFF; display: block; width: 0; z-index: 1; } .bubble:before …
76 css  inline 

10
在admin中以内联形式限制select中的外键选择
该模型的逻辑是: 一个Building有很多Rooms ARoom可能在另一个内部Room(例如壁橱-“ self”上的ForeignKey) ARoom只能Room位于同一建筑物的另一个内部(这是棘手的部分) 这是我的代码: #spaces/models.py from django.db import models class Building(models.Model): name=models.CharField(max_length=32) def __unicode__(self): return self.name class Room(models.Model): number=models.CharField(max_length=8) building=models.ForeignKey(Building) inside_room=models.ForeignKey('self',blank=True,null=True) def __unicode__(self): return self.number 和: #spaces/admin.py from ex.spaces.models import Building, Room from django.contrib import admin class RoomAdmin(admin.ModelAdmin): pass class RoomInline(admin.TabularInline): model = Room extra = 2 class …


6
C ++内联函数?
我为什么要做这样的事情: inline double square (double x) { return x*x;} 代替 double square (double x) { return x*x;} 有区别吗?
74 c++  inline 

4
在F#中使用`inline`
inline在我看来,F#中的关键字的用途与我在C中所使用的关键字有所不同。例如,它似乎影响一个函数的类型(“静态解析的类型参数是什么”?不是所有F#类型吗?静态解决?) 什么时候应该使用inline函数?
71 f#  types  inline 

5
应该永远不要使用静态内联函数吗?
使用inline关键字有两个含义(第7.1.3 / 4节): 它提示编译器,在调用点替换函数主体比通常的函数调用机制更可取。 即使省略了内联替换,也要遵循内联的其他规则(尤其是一个定义规则)。 通常,如果需要,任何主流的编译器都会在调用时替换函数体,因此inline,#1真正不需要仅将函数标记为。 更进一步 #2,据我了解,当您将一个函数声明为static inlinefunction时, 该static对功能力关键字inline函数有一个内部连接(内联函数具有外部连接)这样的功能中的每一个实例被视为一个单独的功能(各功能的地址是不同的)和这些功能中的每一种情况下都有自己的副本静态局部变量和字符串文字(内联函数只有这些的一个副本) 因此,这种功能就像其他任何功能一样 static功能,并且关键字inline不再具有重要性,因此变得多余。 因此,实际上标记功能static,inline两者都没有用。应该是static(不是最优选的)还是inline(最优选的), 那么,在一个函数上使用static和inline在一起实际上是没有用的吗?
70 c++  static  inline 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.