问题标签 [inline-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4889 浏览

c - 有没有办法在 .c 文件而不是 .h 文件中定义 C 内联函数?

据我所知,C 内联函数体应该在 .h 文件中定义,因为如果在 .c 文件中定义了函数体,它会导致错误“使用但从未定义的函数名”。

这是常规方式吗?或者如何在 .c 文件中定义内联函数体?

0 投票
4 回答
4487 浏览

asp.net - MVC 2:VB.NET 2010 中的 Html.TextBoxFor 等

我在 C# 中有这个示例 ASP.NET MVC 2.0 视图,绑定到具有名字、姓氏和电子邮件的强类型模型:

我将其转换为 VB.NET,在 VB.NET 10 中看到了适当的结构,如下所示:

没运气。这是正确的,如果不是,我需要使用什么语法?同样,我使用的是 ASP.NET MVC 2.0,这是一个绑定到强类型模型的视图...... MVC 2 仍然不支持 .NET 2010 中的新语言结构吗?

这是一个 VB.NET 项目,我用这个头文件正确地引用了 VB:

" %>

这是模型类的定义;默认项目命名空间是 MvcSample.VB:

谢谢。

0 投票
1 回答
790 浏览

javascript - 如何在内联函数中访问此变量?

这是我的困境。

我有这段代码:

应该发生的事情是 5 个内联函数将被添加到数组中 - 每个都获取i. 然而,这不会发生。

预期输出:

43210

实际输出:

01234

0 投票
2 回答
785 浏览

c++ - 使用内联函数定义静态二维数组

我设置了一个类:

并实施

但是当我这样做时,我收到一条错误消息,“在初始化中将'const float*' 转换为'const float'”。我明白错误在说什么,但到底是在说“const float”,以及如何用分解的内联函数来实现我的数组。

0 投票
1 回答
673 浏览

f# - 内联函数有什么好方法可以访问私有或内部值吗?

我刚刚遇到了一个问题:当我尝试从内联函数访问私有或内部值时,我收到错误“值'xxx'被标记为内联,但它的实现使用了一个不够充分的内部或私有函数无障碍”。虽然合乎逻辑,但我想知道是否有人有很好的解决方法。我能想到的最好的事情就是将这些值公开放在一个嵌套模块中,并希望没有人四处闲逛(无论如何我都不太担心,因为这些值是不可变的)。我想反射是一种选择,但是如果不能缓存调用(使用...私有委托),性能损失太大了。

0 投票
1 回答
1730 浏览

c - gcc 可以通过函数指针的常量数组内联间接函数调用吗?

假设我们有以下代码:

可以以某种方式欺骗 gcc 以真正内联对 的间接调用func_*吗?

-O2用and编译代码后-O3,我仍然可以call func_2在汇编输出中发现一条指令。

我知道这个毛茸茸的表达式可以转换成一个庞大的switch语句,每个案例都有内联调用,但我更喜欢前者,因为它紧凑。

0 投票
3 回答
721 浏览

c++ - 由于源文件中存在未执行的代码,运行应用程序时崩溃 - c++

我正在研究一个相当棘手的问题,我已经研究了一周。我撞到了一堵非常硬的墙,我的前额因撞到它而受伤,所以我希望有人能帮助我。

我正在为这个项目使用 Visual Studio 2005 - 我安装了 2008,但在尝试时遇到了类似的问题。

我们目前有一个针对 OpenCv1.1 编译的应用程序,我正在尝试将其更新到 2.2。当我们切换到新库的静态链接时,应用程序崩溃 - 但仅在发布模式下。所以动态链接和调试都可以正常工作。

std::vector调用时发生崩溃push_back

然后我想出了一个示例测试应用程序,它在 opencv 中运行一些基本代码,运行良好,然后将完全相同的代码添加到我们的应用程序中。该代码失败。

然后我删除了应用程序,因此它没有实例化任何代码对象,除了主 gui 和调用该代码的 1 个类,它仍然崩溃。但是,如果我直接在主 gui 中运行该代码,它就可以正常工作。

然后我开始注释掉大量的应用程序(在永远不应该实例化的组件中),最终我一路向下直到......

我有一个有方法的类

如果在头文件中定义了此方法,则测试代码可以工作,但如果在 cpp 文件中定义了此代码,则会崩溃。此外,如果我使用std::vector<double>而不是 int,它也可以工作。

然后我尝试使用编译器选项,如果我关闭了优化 (/Od) 并将内联函数扩展设置为 Only __inline (/Ob1),即使代码位于 cpp 文件中,它也可以工作。

当然,如果我们回到未删减的应用程序并自行更改那些编译器选项,它就会崩溃。

如果有人对此有任何见解,请告诉我。

谢谢,里龙

0 投票
3 回答
16125 浏览

c - 如何在 C99 多文件项目中声明内联函数?

我想在项目中定义一个内联函数,用c99编译。我该怎么做?当我在头文件中声明函数并在 .c 文件中提供详细信息时,其他文件无法识别该定义。当我将显式函数放在头文件中时,我遇到了问题,因为使用它的所有 .o 文件都有定义的副本,因此链接器给了我一个“多重定义”错误。

我想做的是这样的:

使用同时使用 lib1.o 和 lib2.o 的实用程序

0 投票
3 回答
1904 浏览

c++ - 带有定义或内联的 C++ 宏?

可能重复:
内联函数与预处理器宏

C++ 中引入了内联函数来替换 C 风格的宏(#define 宏名...),但我仍然看到很多 C++ 代码使用旧的 C 风格的宏而不是内联函数,内联函数是否不如旧的 C 风格的宏?

0 投票
3 回答
209 浏览

c++ - C++,需要帮助理解向量类中使用指针的一些构造函数和函数

大家好;

我必须开发一个 C++ 类库,其中包含一系列用于科学计算的数值技术。该库应实现 Vector 类(使用指针),其中包含头文件“Vector.h”中所述的一些基本功能。

我是 C++ 的初学者,我对理解上述代码中的一些构造函数和函数有些困惑。

我的问题是:

1-以下构造函数的概念是什么?

我的意思是如何将向量初始化为数组a?

2-复制构造函数和赋值之间有什么区别?

3-我知道这个函数是返回向量的第 i 个元素:

但它和这个有什么区别:

我需要理解这个概念才能知道如何在 .cpp 文件中实现它们以及如何在我的 main 中调用它们。如果你能帮助我,我会很高兴的。

此致;