小编Fer*_*cio的帖子

C++标准是否允许使用typedef重命名构造函数?

我很惊讶地发现在VC++ 10中,您可以使用typedef来更改类的构造函数的名称:

#include <iostream>

using namespace std;

class A
{
private:
    typedef A alias;

public:
    alias() { cout << "A ctor" << endl; }
};

int main()
{
    A(); // prints "A ctor"
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是标准的C++还是Microsoft扩展?

c++ constructor typedef

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

如何提高垃圾收集性能?

可以使用哪种优化模式来提高垃圾收集器的性能?

我的理由是我使用Compact Framework做了很多嵌入式软件.在慢速设备上垃圾收集可能会成为一个问题,我想减少垃圾收集器启动的次数,当它发生时,我希望它能更快地完成.我还可以看到使用垃圾收集器而不是垃圾收集器可以帮助改进任何.NET或Java应用程序,尤其是重型Web应用程序.

以下是我的一些想法,但我没有做任何基准测试.

  • 重用临时类/数组(保持分配计数)
  • 将活动对象的数量保持在最低(更快的收集)
  • 尝试使用结构而不是类

.net embedded optimization garbage-collection compact-framework

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

如何让 WiX 生成 64 位 MSI?

我正在使用 WiX 3.6 和 VS2010。我的 32 位安装可以正常工作,我正在尝试让 64 位安装正常工作。

  • 我在配置属性中将平台设置为“x64”。
  • 我在安装脚本中将 Package 标记中的 Platform 属性设置为“x64”。
  • 我将安装目录从“ProgramFilesFolder”更改为“ProgramFiles64Folder”。
  • 我向每个组件添加了属性 Win64="yes"。

我认为这足以生成 64 位 MSI,但它仍然坚持将所有内容安装在“Program Files (x86)”而不是“Program Files”中。

我缺少什么?

64-bit windows-installer wix wix3.6

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

关于Linq/lambda的问题.选择(newby learn 3.0)

我正在玩C#3.0的新东西,我有这个代码(大部分来自MSDN),但我只能得到真,假,真......而不是真正的价值:

        int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

        var oddNumbers = numbers.Select(n => n % 2 == 1);

        Console.WriteLine("Numbers < 5:");
        foreach (var x in oddNumbers)
        {
            Console.WriteLine(x);
        }
Run Code Online (Sandbox Code Playgroud)

如何修复它以显示整数列表?

linq lambda c#-3.0

8
推荐指数
2
解决办法
3万
查看次数

使用NUnit使用C++/CLI的限制

这个关于C++单元测试框架的问题的答案表明我之前没有发生过这样的可能性:使用C++/CLI和NUnit为本机C++代码创建单元测试.

我们使用NUnit进行C#测试,因此将它用于C++的可能性似乎很诱人.

我从未使用过托管C++,所以我担心这种方法有任何实际限制吗?你们很多人都这样做吗?如果是这样,你的经历是什么样的?

nunit c++-cli

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

是否可以为.NET编写新的应用程序?

我即将开始一个新的Windows应用程序.它将是一个用C++编写的音频处理工具.它将需要所有常见的GUI内容,如菜单,工具栏等.它还将具有嵌入式Web浏览器.

我正在考虑在.NET上构建它,但我想听听所有关于.NET是否仍然很难部署的消息.有多少百分比的常规用户已经拥有.NET运行时?我不想为我的用户带来任何痛苦,比如只需要下载100MB运行时来启动我的应用程序.

什么堆叠溢出者认为?我应该去.NET还是应该坚持使用简单的'ol Win32 API?或者甚至可能是第三方系统,如QT或wxWidgets?

.net deployment

8
推荐指数
4
解决办法
939
查看次数

使用g ++与pragma链接

在Visual C++中,可以通过执行操作链接到代码本身中的库#pragma comment (lib, "libname.lib").在g ++中有类似的东西吗?

c++ linker g++ pragma

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

unsigned在if语句比较中签名?

我在这个网站上搜索了一个答案,发现许多对未签名/签名比较的回复,但是这个问题是只比较了无符号参数,但它仍然很有趣.

以下代码的问题在于第一个if-statment不会发生("hello"),而第二个("world")就是这样.我已经解释为在if-statment 内部进行的计算会生成一个负数但是保存到变量的结果完全相同的计算不会(即使结果被保存到有符号变量).

使用的编译器是gcc 4.4.

unsigned short u16_varHigh;  
unsigned short u16_varLow;  
unsigned short u16_Res1;  
signed short   s16_Res1;  

u16_varHigh = 0xFFFF;  
u16_varLow = 10;

u16_Res1 = u16_varLow - u16_varHigh; // response is 11 as expected  
s16_Res1 = u16_varLow - u16_varHigh; // response is 11 as expected

// Does not enter  
if( (u16_varLow - u16_varHigh) > (unsigned short)5 )  
{  
 printf( "hello" );  
}

// Does enter  
if( (unsigned short)(u16_varLow - u16_varHigh) > 5 )  
{  
 printf( "world" …
Run Code Online (Sandbox Code Playgroud)

c comparison unsigned if-statement

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

相当于C++中的NSMutableArray?

什么是最接近Objective-C NSMutableArray的C++对象?谢谢 !

c++ arrays objective-c nsmutablearray

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

在C++中存储任意对象的列表

在Java中,您可以拥有一个对象列表.您可以添加多种类型的对象,然后检索它们,检查它们的类型,并对该类型执行适当的操作.
例如:(如果代码不完全正确,我会道歉)

List<Object> list = new LinkedList<Object>();

list.add("Hello World!");
list.add(7);
list.add(true);

for (object o : list)
{
    if (o instanceof int)
        ; // Do stuff if it's an int
    else if (o instanceof String)
        ; // Do stuff if it's a string
    else if (o instanceof boolean)
        ; // Do stuff if it's a boolean
}
Run Code Online (Sandbox Code Playgroud)

在C++中复制此行为的最佳方法是什么?

c++ collections types

7
推荐指数
4
解决办法
8744
查看次数