Tag: C#的

在C中用分隔符分割string

我如何编写一个函数来分割和返回一个数组的string与分隔符在C编程语言? char* str = "JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"; str_split(str,',');

variables,对象和引用之间有什么区别?

到底什么是variables , 对象和引用之间的区别? 例如:它们都指向某种types,并且它们都必须具有值(除非有临时的无效types),但是它们的function和实现又是如何不同? 例: Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog int x = 12; //variable x that hold a value of 12 他们有相同的概念,但他们有什么不同呢?

在C ++中,下面的语句意味着什么:零,初始值和初始值?

在C ++中下面的短语是什么意思: 零初始化, 默认初始化和 值初始化 C ++开发人员应该知道些什么?

如何:在C#中执行命令行,获得STD OUT结果

如何从C#执行命令行程序并取回STD OUT结果。 具体来说,我想执行两个文件编程方式selectDIFF并将结果写入文本框。 是的,我可以为自己弄清楚,但肯定有人做了这样的事情,我很懒。

运行我的C ++代码给了我一个空白的控制台

我试图在Visual Studio 2015中运行一些C ++代码。当我构build它时,我没有得到任何错误,但是一旦我运行它,我得到的只是一个空的控制台。 我不认为它冻结,因为我可以看到闪烁的下划线。 另外,如果我在debugging模式下运行Visual Studio只是冻结。 我用了一个简单的“hello world”代码: #include <iostream> int main() { std::cout << "hello world!\n"; return 0; } 我试过的: 我尝试重新安装Visual Studio,但它没有解决任何问题。 我也尝试运行一些Python和C#代码,并没有问题的工作。

用C调用函数之前的参数评估顺序

在C中调用函数参数时可以假设一个评估顺序吗? 按照下面的程序,当我执行它时似乎没有特定的顺序。 #include <stdio.h> int main() { int a[] = {1, 2, 3}; int * pa; pa = &a[0]; printf("a[0] = %d\ta[1] = %d\ta[2] = %d\n",*(pa), *(pa++),*(++pa)); /* Result: a[0] = 3 a[1] = 2 a[2] = 2 */ pa = &a[0]; printf("a[0] = %d\ta[1] = %d\ta[2] = %d\n",*(pa++),*(pa),*(++pa)); /* Result: a[0] = 2 a[1] […]

未定义引用'WinMain @ 16'

当我尝试使用Eclipse CDT构build程序时,我得到以下内容: /mingw/lib/libmingw32.a(main.o):main.c:(.text+0x106):对WinMain @ 16的未定义引用 这是为什么? 而且,我该如何解决这个问题呢?

如何与C预处理器连接两次,并在“arg ## _ ## MACRO”中展开macros?

我试图编写一个程序,其中一些函数的名称依赖于某个macrosvariables的值,如下所示: #define VARIABLE 3 #define NAME(fun) fun ## _ ## VARIABLE int NAME(some_function)(int a); 不幸的是,macrosNAME()将其转化为 int some_function_VARIABLE(int a); 而不是 int some_function_3(int a); 所以这显然是错误的做法。 幸运的是,VARIABLE的不同可能值的数量很小,所以我可以简单地做一个#if VARIABLE == n并分别列出所有的情况,但是我想知道是否有一个聪明的方法来做到这一点。

我怎样才能将reflection添加到C ++应用程序?

我想能够反省一个C ++类的名称,内容(即成员和他们的types)等我在这里说本地C ++,而不是托pipeC ++,它有反思。 我意识到C ++使用RTTI提供一些有限的信息。 哪些额外的库(或其他技术)可以提供这些信息?

是否有一个C#在foreach中重用该variables的原因?

在C#中使用lambdaexpression式或匿名方法时,我们必须警惕修改的闭包陷阱。 例如: foreach (var s in strings) { query = query.Where(i => i.Prop == s); // access to modified closure … } 由于修改了闭包,上面的代码将导致查询中的所有Where子句基于s的最终值。 正如在这里解释的,这是因为在foreach循环中声明的svariables在编译器中是这样翻译的: string s; while (enumerator.MoveNext()) { s = enumerator.Current; … } 而不是像这样: while (enumerator.MoveNext()) { string s; s = enumerator.Current; … } 正如这里指出的那样,在循环之外声明一个variables没有任何性能优势,在正常情况下,我可以考虑的唯一原因是如果您打算在循环范围之外使用该variables: string s; while (enumerator.MoveNext()) { s = enumerator.Current; … […]