小编Kir*_*lev的帖子

在模板的情况下包含头文件.

当我们创建一个类时,我们在头文件中声明它的函数并在源文件中定义它们......然后头文件可以包含在主文件中以使用该类...

但是如果我们在头文件中声明一个模板类并在.cpp文件中定义它,然后如果我们在主(包含int main)文件中包含头文件那么为什么会出现链接器错误......并且错误确实存在如果我们在主文件中包含.cpp文件(包含头文件),则不会出现...任何答案都是PLZ?

c++ templates header-files

2
推荐指数
1
解决办法
502
查看次数

这种类型的真正含义是什么?

typedef const char* Argv[3+ 8];
Run Code Online (Sandbox Code Playgroud)

我在这一点上的猜测[3+8]是创建一个Argv类型的匿名数组(类型为const char*).如果我是对的,匿名数组部分基本上没有意义.

c++ typedef

2
推荐指数
1
解决办法
142
查看次数

未初始化的变量会发生什么?C++

int main()
{    
    int a;
    cout << a;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么要输出值 0。我想如果一个变量未初始化,它会输出一个垃圾值。

但是,我也记得听说整数的默认值是 0,所以我有点困惑。

谢谢

c++ variables initialization

2
推荐指数
1
解决办法
1903
查看次数

如何将IntPtr转换为流?

class Foo
{
   static bool Bar(Stream^ stream);
};

class FooWrapper
{
   bool Bar(LPCWSTR szUnicodeString)
   {
       return Foo::Bar(??);
   }
};
Run Code Online (Sandbox Code Playgroud)

MemoryStream将采取一个,byte[]但我想这样做,如果可能的话不复制数据.

.net c++ interop managed-c++

1
推荐指数
1
解决办法
6059
查看次数

1
推荐指数
1
解决办法
1337
查看次数

C#中的swap方法,其参数值类型效率不高?

检查此方法:

public static void Swap(ref int i, ref int j)
{
   int aux=i;
   i=j;
   j=aux;
}
Run Code Online (Sandbox Code Playgroud)

它比这更有效吗?

public static void Swap1(int[] a, int i, int j)
{
   int aux=a[i];
   a[i]= a[j];
   a[j]=aux;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用这样的方法:

static void Main(string[] args)
{
    int[] a = { 5, 4, 3, 1 };
    Swap(a[1], a[2]);
    Swap(a, 1, 2);
}
Run Code Online (Sandbox Code Playgroud)

哪种方法更有效,为什么?

.net c# parameters methods

1
推荐指数
1
解决办法
3480
查看次数

C++:在命名空间中的多个文件中使用typedef.

我正在跨多个文件定义命名空间.在一个文件中,在命名空间内我声明了一个名为MyType的类型.在另一个文件中,仍然在命名空间内,我不应该看到该类型,而不必包含头文件?以下是一个例子:

FILE A
namespace EE
{
    typedef int MyType;
}


FILE B
namespace EE
{
    MyType a = 10;
}
Run Code Online (Sandbox Code Playgroud)

同样,根据我的理解,命名空间有助于清理包含.如果我定义了一个30个文件将使用的类型,如果我使用命名空间,我不应该在所有这些文件中包含标题,或者我认为.

c++ namespaces header-files

1
推荐指数
1
解决办法
3019
查看次数

C ++命令行调试参数

通过命令行运行程序时,如何更改布尔宏的值?例如,假设我的cpp文件中包含以下宏,则将其命名为MyCpp.cpp

#define DEBUG 1
Run Code Online (Sandbox Code Playgroud)

运行程序时如何更改此设置?通过命令行:

g++ -Wall -Wextra -o MyCpp MyCpp.cpp
Run Code Online (Sandbox Code Playgroud)

我很确定您指定了某种命令行选项,这会响起钟声吗?另外,我不想使用argv[]

c c++ debugging command-line

1
推荐指数
1
解决办法
1874
查看次数

多个await在异步方法中

我有一个方法

public async void getResult ()
Run Code Online (Sandbox Code Playgroud)

这取决于2等待它内部的响应.

这是第一个:等待:

await System.Threading.Tasks.Task.Factory.StartNew (() => { 
                    try 
                    {
                        scannedItem = getScannedItem(); 
                    }
                    catch (Exception exe) 
                    { }
Run Code Online (Sandbox Code Playgroud)

第二个等待等待从上面使用scanningItem的调用

await System.Threading.Tasks.Task.Factory.StartNew (() => { 
                    try
                    {
                        getResultsScannedItem = results(ScannedItem); 
                    }
                    catch (Exception exe) 
                    { }
Run Code Online (Sandbox Code Playgroud)

我想让这一切都从一个按钮执行.但是,第二个等待永远不会被执行.我可以在方法中有两个等待吗?有点担心如何去做这件事.

c# asynchronous async-await xamarin

1
推荐指数
1
解决办法
3935
查看次数

什么是"0"表示C中的2D字符数组(char*[])

我最近遇到了C面试编码问题.像"void Foo(char**sarr)"这样的一般功能.它给了我一个输入

char* data[] = {"4352", "3242", "2432143", "234", "", "324", 0}
Run Code Online (Sandbox Code Playgroud)

我是C的新手,但熟悉C++.对于这种情况,我真的不知道这个'*'在这个char*数组中意味着什么.我知道C有一个字符串的终结符为'\ 0'.但是0意味着什么?或者这个输入完全错误/无效?提前致谢.

c arrays char

1
推荐指数
1
解决办法
79
查看次数