declaration相关内容

隐藏功能模板,声明专业化

这是 http://stackoverflow.com/questions/的后续追踪2050900 / c-templates-prevent-instantiation-of-base-template 我使用模板实现函数重载而没有隐式类型转换: em>声明功能模板,定义所需的特殊化(重载)。一切都很好,除非错误的代码不产生错误,直到链接阶段: lib.hpp: templ ..
发布时间:2016-10-20 22:24:35 C/C++开发

为什么C ++变量声明语法不一致?

当我声明C ++变量,我这样做: int a,b,c,d; 或 string strA,strB,strC,strD; 即,首先是类型,然后是以逗号分隔的变量名称列表。 但是,我声明了这样的指针: int * a,* b,* c, * d; 并参考如下: int& a,& b,& c,& d; ..
发布时间:2016-10-20 09:14:01 C/C++开发

不能理解[basic.link] / 6 C ++ 14示例中的声明#3

[basic.link] / 6 在块范围中声明的函数的名称和 的名称块范围 extern 声明的变量具有链接。 如果存在具有 相同名称和类型的链接的实体的可见声明,忽略在最内部的 外部命名空间范围之外声明的实体,块范围声明声明 同一个实体并接收先前声明的链接。如果 有多个这样的匹配实体,程序是 形式。否则,如果没有找到匹配实体,块范围 实体接收外部链接。[示例: s ..
发布时间:2016-10-19 20:03:12 C/C++开发

这是一个变量或函数

我只是看通过google的非本地平均值算法的实现(感谢google代码搜索),并遇到这个功能镜像。 template :: mirror(const int src, const int size, const in ..
发布时间:2016-10-19 19:45:23 C/C++开发

如何向未命名类添加构造函数/析构函数?

有没有办法在未命名类中声明构造函数或析构函数?请考虑以下 void f() { struct { // } inst1,inst2; // f实现 - 实例的使用 } 后续问题:实例被构造(并销毁)为任何基于堆栈的对象。什么叫?它是一个由编译器自动分配的名称吗? 解决方案 不能为未命名类声明构造函数或析构函数,因为构造函数和析构函数名称需要匹配类 ..
发布时间:2016-10-17 10:40:33 C/C++开发

在C ++中for循环中的变量的重写

当尝试为多个平台编译以下(简化)代码时,我发现它在某些方面失败,即IBM的xlC_r。进一步的调查发现,它也失败了来和ang。它用g ++和Solaris的CC编译成功。 这里是代码: int main() { int a1 [1]; bool a2 [1]; for(int * it = a1,* end = a1 + 1; it!= end; ++ it){ / ..
发布时间:2016-10-17 10:02:34 C/C++开发

在c ++中初始化对象之前声明对象

是否可以在c ++中声明一个变量而不实例化它?我想做这样的事情: if(happyDay()) a(“puppies”); // constructor call else a(“toads”); 基本上,我只想声明一个外部的条件,所以它获得正确的范围。 p> 有没有办法做到这一点,不使用指针和在堆上分配 a ? $ p 解决方案 你不能 ..
发布时间:2016-10-17 09:53:34 C/C++开发

变量是否只能在if语句的范围内定义,类似于for-loops的常用做法?

有没有办法在if结构中声明,分配和比较一个变量到表达式,以便只在if结构的范围内定义? 这个工作(声明和赋值,当然条件只是函数f的返回值等于零): int main() { if(int i = f()) { printf(“%d”,i); // i在这里定义! } else { //这里! } //但不在这里! } 但是当我尝试比较 ..
发布时间:2016-10-14 21:59:32 C/C++开发

将声明和定义分离为C ++中的优点和缺点是什么?

在C ++中,函数,变量和常量的声明和定义可以这样分隔: function someFunc function someFunc() { //实现。 } 事实上,在类的定义中,通常是这样。类通常使用它的成员在.h文件中声明,然后在相应的.C文件中定义它们。 这种方法的缺点? 解决方案 历史上这是帮助编译器。你必须在使用它们之前给它一个名字 ..
发布时间:2016-10-14 21:42:50 C/C++开发

C ++翻译单元的语法

我的理解是,在很长时间之后,是一个C ++翻译单元,在预处理器运行之后,是一个声明序列(让我提醒任何定义也是一个声明)。 许多人都在使用这个语句,但没有人曾经给过一个反例。但我自己发现这个例子困扰我: int x; // declaration ; // ??? EMPTY DECLARATION? int main()// dec {// la } // rat ..
发布时间:2016-10-14 21:41:48 C/C++开发

模板类成员专业化,没有声明头

我有一个模板类,我在一个头声明一个方法,没有该方法的头部中的定义。在.cc文件中,我定义了该方法的特殊化,而不必在标题中声明它们。 在不同的.cc文件中,我调用存在特殊化的不同模板参数的方法。它看起来像这样: foo.h: 类型名T> class Foo { public: static int bar(); }; foo.cc: #includ ..
发布时间:2016-10-14 19:52:11 C/C++开发