小编And*_*w T的帖子

在C++中运行时选择模板参数

假设我有一组模板使用single(float)或doubleprecision 的函数和类.当然,我只能写两段引导代码,或者乱用宏.但我可以在运行时切换模板参数吗?

c++ templates arguments runtime

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

问:Windows 7任务栏扩展支持的当前状态是什么?

Windows 7 Aero Theme有一个带扩展名的全新任务栏.

Windows 7任务栏跳转列表

Qt中任务栏扩展(跳转列表等)支持的当前状态是什么?

qt themes taskbar aero windows-7

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

我的C++编译器是否优化了我的代码?

在使用现代C++编译器(包括MSVC,GCC,ICC)时,我怎么说它是否具有:

  1. 并行化代码
  2. 矢量化循环(或使用其他特定的处理器指令)
  3. 展开循环
  4. 检测到尾递归
  5. 执行RVO(返回值优化)
  6. 或以其他方式优化

没有深入编译器产生的汇编代码?

c++ compiler-construction optimization compiler-optimization

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

如何在C++中从流中执行快速格式化输入?

情况是:有一个文件包含14 294 508个无符号整数和13 994 397个浮点数(需要读取doubles).文件总大小约为250 MB.

使用std::istream需要约30秒.从文件到内存读取数据(只是复制字节,没有格式化输入)要快得多.有没有办法在不改变文件格式的情况下提高阅读速度?

c++ performance file-io stl

5
推荐指数
0
解决办法
2687
查看次数

任何良好的面向对象设计实践的来源?

有没有人在网站上分享和讨论面向对象设计的好例子?

理想情况下,此类网站应填充以下结构的帖子:

  • 问题的简要描述,包括定义,链接等.
  • OO设计,图表,伪代码列表的几次尝试(由用户投票/下调)
    • 评论(也由用户投票)

目前我正在寻找灵感来源.

language-agnostic oop

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

如何向初级开发人员解释C++模板?

人们可以将问题分为两个:如何阅读编写模板化代码.

很容易说,"你想要一组双打,写std::vector<double>",但它不会教他们模板是如何工作的.

c++ templates

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

哪些开源C++项目有很好的(鼓舞人心的)测试?

什么是用C++编写的开源软件的优秀测试的鼓舞人心的例子?

我想阅读,研究和遵循.

c++ testing tdd open-source unit-testing

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

C++名称空间:交叉使用

请考虑以下示例.它由两个头文件组成,声明两个不同的名称空间:

// a1.h
#pragma once
#include "a2.h"

namespace a1 
{
    const int x = 10;
    typedef a2::C B;
}
Run Code Online (Sandbox Code Playgroud)

第二个是

// a2.h    
#pragma once
#include "a1.h"

namespace a2 {
  class C {
  public:
    int say() {
      return a1::x; 
    }
  };
}
Run Code Online (Sandbox Code Playgroud)

还有一个源文件main.cpp:

#include <iostream>
#include "a1.h"
#include "a2.h"

int main()
{
  a2::C c;
  std::cout << c.say() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

这样它就不会编译(尝试过GCC和MSVC).错误是a1未声明名称空间(Windows上为C2653).如果您以main.cpp这种方式更改包含订单:

#include "a2.h"
#include "a1.h"
Run Code Online (Sandbox Code Playgroud)

您会收到对称错误消息,即a2未声明命名空间.

有什么问题?

c++ namespaces include

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

如何在Visual Studio中管理许多配置?

好吧,我想管理x86和x64平台,以及许多不同的配置,如"Debug CPU UMFPACK","Release CUDA CNC"等.在项目属性中进行更改时,如何将它们同时应用于多个配置/平台?我在Visual Studio中遗漏了什么吗?

configuration visual-studio

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

我应该在C++中公开迭代器和适配器方法或整个容器吗?

考虑一下代码:

class Foo
{ // ...
    std::vector<Bar> bars;
};
Run Code Online (Sandbox Code Playgroud)

我应该暴露整个容器,或者我应该公开typedef倒是迭代器类,并用适配器的方法(begin(),end(),size(),和任何我需要)?

如果答案取决于,应该如何做出决定?

c++ containers stl interface

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