Tag: 声明

在switch语句中声明variables

我看到了这个问题的一些答案,我明白了 – 你不能在switch声明和分配variables。 但我想知道是否以下是正确的抛出一个错误说 错误:在'int'之前的期望expression式 码: switch (i) { case 0: int j = 1; break; } 为什么会在不导致错误之前调用NSLog()呢? switch (i) { case 0: NSLog(@"wtf"); int j = 1; break; }

如何声明一个ArrayList的值?

Java中的ArrayList或List声明质疑并回答了如何声明一个空的ArrayList但我该如何声明一个ArrayList的值? 我试过以下,但它返回一个语法错误: import java.io.IOException; import java.util.ArrayList; public class test { public static void main(String[] args) throws IOException { ArrayList<String> x = new ArrayList<String>(); x = ['xyz', 'abc']; } }

函数声明后的= delete的含义

class my_class { … my_class(my_class const &) = delete; … }; 在这种情况下, = delete是什么意思? 还有没有其他的“修饰符”(除了= 0和= delete )?

如何在C ++中初始化一个向量

可能重复: C ++:用硬编码元素初始化STL向量的最简单的方法 我想像在数组的情况下一样初始化vector。 例 int vv[2] = {12, 43}; 但是当我这样做的时候, vector<int> v(2) = {34, 23}; 要么 vector<int> v(2); v = {0, 9}; 它给出了一个错误: 期望在“{”令牌之前的主expression式 和 错误:预期','或';' 在'='标记之前 分别。

什么时候应该使用Debug.Assert()?

大约一年以来,我一直是一个专业的软件工程师,gradle于CS学位。 我已经知道关于C ++和C一段时间的断言,但直到最近才知道它们存在于C#和.NET中。 我们的产品代码没有任何断言,我的问题是这个… 我应该在生产代码中使用Asserts吗? 如果是这样,它的用途何时最合适? 这样做会更有意义吗? Debug.Assert(val != null); 要么 if ( val == null ) throw new exception();

C ++方法声明中最后一个“const”的含义?

const在这些声明中的含义是什么? const让我困惑。 class foobar { public: operator int () const; const char* foo() const; };

如何声明variables并在同一个SQL脚本中使用它? (Oracle SQL)

我正在做一些用SQL编写的testing。 我想编写可重用的代码,因此想要在开始时声明一些variables,并在脚本中重新使用它们,如下所示: DEFINE stupidvar = 'stupidvarcontent'; SELECT stupiddata FROM stupidtable WHERE stupidcolumn = &stupidvar; 我如何声明一个variables并在随后的语句中重用它? (我正在使用SQLDeveloper来访问Oracle数据库。) 我到目前为止尝试过: 使用DECLARE部分并在BEGIN和END;插入以下SELECT语句END; 。 使用&stupidvar访问variables。 使用关键字DEFINE并访问variables。 使用关键字VARIABLE并访问variables。 但是我在尝试期间遇到了各种错误(Unboundvariables,语法错误,Expected SELECT INTO …)。 在searchnetworking时,我发现了很多不同的解释,涉及SQL,PL / SQL。 先谢谢你!

为什么“extern const int n”不能按预期工作?

我的项目只包含两个源文件: a.cpp: const int n = 8; b.cpp: extern const int n; int main() { // error LNK2001: unresolved external symbol "int const n" (?n@@3HB) int m = n; } 我知道有几种方法可以使其工作。 但是,我只是想知道为什么它不起作用?

螺旋规则和'声明遵循用法'来parsingC和C ++声明

这个问题是关于C声明的另一个问题 。 读到这个问题的答案,我读了关于螺旋规则 ,我也明白了“申报遵循使用”是什么意思。 好吧,至今。 但后来我读到这个声明 : char *(*(*a[N])())(); 我想知道如何用“声明遵循使用”的“规则”来parsing它。 特别是对于数组部分。 我读的是: (*(*a[N])()) 是一个函数()返回一个char * ,然后,解引用以下 (*a[N])() // 1 是这个'函数返回一个char* ',所以1是一个'指向返回char *的函数的指针',那么我会说'当(*a[N])被调用时,它是[先前的声明]'。 在这一点上,我们有(*a[N])是一个返回指向返回char *的函数的指针的函数。 但是,我不知道如何应用这个规则来区分'指针数组'和'指针数组'。 有人可以澄清这一点? 其他问题:在这样的声明中,在(在C ++), *和[]之间的“优先级”是什么? [也许“优先”不是正确的名词] 为了检查我是否正确理解了“螺线规则”,我也在下面parsing这个expression式。 请告诉我,如果我错了。 +———–+ | +——+ | | | +-+ | | | | ^ | | | char* (*(* a[N])())(); ^ ^ ^ ^ ^ […]

什么是Swift中的“open”关键字?

标准库中的ObjectiveC.swift文件在第228行附近包含以下几行代码: extension NSObject : Equatable, Hashable { /// … open var hashValue: Int { return hash } } 在这种情况下, open var意味着什么,或者一般的open关键字是什么?