function-prototypes相关内容
我知道,这经常被讨论.但在像 19 世纪的人一样四处寻找之后,我需要一些建议.声明“命名空间"没有问题,但是当涉及到prototype.foo 函数时,我卡住了.我找到了一种方法,但我不喜欢它: 命名空间 = {}命名空间.obj = function() {this.foo="bar";}命名空间.obj.prototype.start = function() {this.foo="fuba
..
我喜欢尽可能将偶数值参数声明为 const,通过搜索 SO,我发现 这并不少见.像这样: int add(const int a, const int b){...} 但我想知道: values 的 const 是我的函数的实现细节,而不是它的接口的一部分.所以把它放到原型中似乎没有必要. 上述函数的这个原型似乎工作得很好: int add(int a, int b); 但我听说过一
..
以下代码显示一个函数调用另一个函数. 两者名称相同,但签名不同. 这按预期工作. //声明无效的 foo();void foo(int);int main(){富();}//定义无效的 foo(){富(1);}void foo(int){} 我现在要做的唯一区别是将其中一个函数包装成一个结构: //声明结构栏{无效的 foo();};void foo(int);int main(){吧台
..
我想了解什么时候在 js 中使用原型方法是合适的.是否应该始终使用它们?或者是否存在不推荐使用它们和/或导致性能损失的情况? 在本网站上搜索 js 中命名空间的常用方法时,似乎大多数使用非基于原型的实现:简单地使用对象或函数对象来封装命名空间. 来自基于类的语言,很难不尝试得出相似之处并认为原型就像“类",而我提到的命名空间实现就像静态方法. 解决方案 原型是一种优化.
..
是否有什么我遗漏的东西可以允许项目作为带有参数的对象记录,但是当我尝试访问该参数时,它是未定义的? 到目前为止我尝试过的: console.log(item) => { title: "foo", content: "bar" } ,没问题 console.log(typeof item) => object console.log(item.title) =>“未定义" 我
..
我刚刚遇到了某人的 C 代码,我对编译的原因感到困惑.有两点不明白. 函数原型与实际函数定义相比没有参数. 函数定义中的参数没有类型. #include int func();int func(参数){返回参数;}int main(){int bla = func(10);printf("%d", bla);} 为什么会这样?我已经在几个编译器中对其进行了测试,并且运行良好.
..
我对 C 有点陌生(我之前有 Java、C# 和一些 C++ 经验).在 C 中,是否需要声明函数原型或者没有它可以编译代码?这样做是好的编程习惯吗?还是仅仅依赖于编译器?(我正在运行 Ubuntu 9.10 并在 Code::Blocks IDE 下使用 GNU C 编译器或 gcc) 解决方案 在 ANSI C(即 C89 或 C90)中,您不必声明函数原型;但是,最好使用它们.该标准
..
C 中 main 函数的有效签名到底是什么?我知道: int main(int argc, char *argv[]) 还有其他有效的吗? 解决方案 C11 标准明确提到了这两个: int main(void);int main(int argc, char* argv[]); 虽然它确实提到了短语“或等效物"带有以下脚注: 因此,int 可以替换为定义为 int 的 typ
..
显然以下函数原型在 C99 和 C11 中有效: void foo(int a[const *]);void bar(int a[static volatile 10]); 那些奇怪的下标符号*、static和CV限定符的目的是什么? 它们是否有助于区分静态类型数组和可变长度数组?或者它们只是语法糖? 解决方案 static in parameter array declarat
..
对我来说,这些术语在使用 C 编程语言时基本上是同义词.在实践中,我可能更喜欢文件内原型的“前向声明",而不是通过头文件包含的原型的“函数原型".但是,当您考虑预处理后会发生什么时,即使这是人为的区分.也许我错过了什么. 是否就何时使用一个术语与另一个术语达成共识? 解决方案 IMO 这些并不是真正的同义词.对我来说,“函数原型"指的是函数名称及其参数和返回的类型.它不仅适用于您所谓
..
我有两个源文件,a.cpp 和 b.cpp.在a.cpp中,我有一个函数,foo: namespace ns { void foo() { std::cout
..
我正在学习C,我的书正在解释如何“原型化一个函数",以便我们在定义它之前就可以使用它. 关键是我无法想象在定义一个函数之前需要使用一个函数的情况,为什么我们不能一开始就定义它呢? 能否请您提供一个示例,其中严格要求对函数进行原型制作(如果存在)? 解决方案 请考虑以下程序: #include无效add(int,int);int main(){加(5,3)
..
因此,我试图第64次编写缓冲库,并且开始接触一些非常高级的内容.以为我会要求对此进行一些专业性的投入. 在我的第一个头文件中,我有这个: typedef struct StdBuffer { void* address; } StdBuffer; extern void StdBufferClear(StdBuffer); 在另一个头文件#includes第一个头文件中,我有这个文
..
我看到一个被标记为欺骗的问题,但是该问题的一部分没有得到欺骗的回答,并且我没有找到合适的欺骗来纠正它.这样吧. 我曾经看到这样的声明: int (*function)(int, float); 我不太了解.它有两个参数,但没有名称.这是如何运作的?我的意思是,在声明这样的函数时: int f(int x, int y) { return x+y; } 如果没有标识
..
当您声明“指针类型"形式(函数)参数“像const数组"时,const是什么? 即:如果T是类型标识符,则为: void f(const T arr[]); 等同于: void f(const T * const arr); 或 void f(const T * arr); 或 void f(T * const arr); 又如何解密C/C ++标准来
..
我已经编译了以下程序,而在C中没有前向声明功能.它已成功编译并在GCC中运行,没有任何警告或错误. #include int main() { int ret = func(10, 5); } int func(int i, int j) { return (i+j); } 但是,我在C++中编译了没有前向声明功能的以下程序,编译器
..
最近,我的一些CPP教程使用了功能原型.我了解您必须初始化该函数,但是该函数的整体用途是什么?您能不能像在main()之前那样编写整个函数,而不是定义原型? int returnValue(void); int main() { std::cout
..
我最近一直在尝试使用javascript进行原型制作,但我不知道为什么以下代码不起作用.我想做的是使用参数n创建一个Cheese的新实例. function food(n) { this.n=n; } function cheese(n) { alert(this.n); } cheese.prototype=new food; new cheese('paramesian'
..
为什么在C语言中使用函数原型?似乎有点多余,因为我们已经在定义中声明了函数名称,参数类型和返回类型.在定义函数或将其用于优化之前是否必须先声明原型? 解决方案 通常来说,您不需要显式声明函数,因为定义它们也可以声明它们.在两种情况下,您需要: 该功能的定义在外部模块中. 例如,如果函数是在foo.c中定义的,但是您想从bar.c调用它,则需要在bar.c或它包含的文件中声明该函
..
函数指针定义的常用形式是: int function(int, int); int (*ptr)(int, int); 但是我今天看到了一个我不理解的表格.有人可以解释一下吗? int (*close) __P((struct __db *)); 解决方案 __P()宏通常用于支持从K& RC时代起没有原型(从C89引入C的时代)开始的C实现. ).逻辑基本上是
..