小编Yip*_*Yay的帖子

C++优化问题

我有一些正在使用boost库的中型项目,因此在调试应用程序性能方面受到了影响(Visual Studio 2008).

我现在使用的解决方案意味着即使在调试模式下打开函数内联,这也带来了足够的性能,但肯定会有一些缺点.

如果我强制使用函数inlining(/Ob2)开关,有谁知道在调试功能方面我会失去什么?

也许有人对加速boost /其他模板库的调试性能有任何其他想法?

c++ debugging optimization boost

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

C++ - 指针传递问题

有人对如何boost::shared_ptr通过价值或参考传递任何理想.

在我的平台(32位)sizeof(shared_ptr)等于8个字节,看起来我应该通过引用传递它们,但也许有人有另一个意见/做了一个配置文件/类似的东西?

c++ parameter-passing shared-ptr

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

在渲染中使用三角形条带和三角形扇形有什么好处?

我目前正在开发自己的3D引擎,它在几何渲染方面的能力非常有限,我想扩展它.我感兴趣的是如何在存储几何对象和绘制它们方面做到这一点.

目前,我的抽象仅支持将几何体渲染为三角形的通用列表(D3DPT_TRIANGLELIST在Direct3D术语中).还有其他几种表示对象的方法 - 例如三角形条带(D3DPT_TRIANGLESTRIP)或三角形扇形(D3DPT_TRIANGLEFAN).

我的问题是 - 它们是否在现代3D引擎中绘制几何图形时实际使用?

他们的使用如何受益并且他们以某种方式适合游戏创建管道? (我的意思是,艺术家可以开发他们的模型,以便他们利用这些strips/ fans技术吗?)

3d geometry rendering

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

C++中的模板参数

假设我有任意模板方法,它可以通过值const引用 接收参数(显然,对于普通类型和相应的对象).

在编写模板函数原型时如何处理这种情况?

我可以做类似的事情:

template <typename T> void Foo(T value) {
   // Do something.
}

template <typename T> void Foo(const T& value) {
   // Do something, yeah.
}

// Specialization for first prototype. 
template <> void Foo<int>(int value) { }

// Specialization for second prototype. 
template <> void Foo<Object>(const Object& value) { }
Run Code Online (Sandbox Code Playgroud)

但是这种方法对于简单的函数来说是可以接受的,这些函数纯粹作为其他一些调用的包装器.

如果函数(非模板化版本)里面有很多代码,这意味着我必须复制代码两次.

我可以在这里做些更聪明的东西吗?

c++ templates pass-by-reference pass-by-value

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

C++模板专业化

你好!有人知道实现或模仿以下行为的方法吗? (此代码导致编译时错误).

例如,我想仅在派生类中添加特定的模板特化.

struct Base {
   template <typename T> void Method(T a) {
      T b;
   }

   template <> void Method<int>(int a) {
      float c;
   }
};

struct Derived : public Base {
   template <> void Method<float>(float a) {
      float x;
   }
};
Run Code Online (Sandbox Code Playgroud)

c++ templates specialization

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

C#空属性

IsEmpty为类似容器的类实现语句的首选方法是什么?

它可能是一个简单的方法,bool IsEmpty()或者你可以有一些gettable属性IsEmpty/ Empty.

我理解这可能是个人选择的问题,但在这种情况下你会坚持使用属性或方法吗?

c# properties is-empty

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

C#一次性问题

垃圾收集器是否会自动释放与某些实例关联的非托管资源(实际上是什么)IDisposable,例如,如果我忘记编写using语句?

很显然,我不知道何时会发生这种事,但它是精离开IDisposableGC时候我不关心这些资源,我很好,他们将被安置最终

c# garbage-collection idisposable disposable

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

不明显的数组索引

最近我在一个项目中看到了很多类似的代码块,它们按以下方式编写:

String usedAlphabet = "x3w4tnu34urgbgierg";

byte c = // (something initialized earlier)

return usedAlphabet[(int)(c / 16)];
Run Code Online (Sandbox Code Playgroud)

现在,(int)在访问相应的数组时使用强制转换的原因是什么?

对我而言,这似乎是多余的,但我可能错了,或者我可能缺乏关于类型铸造机制的知识.

c# arrays casting

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

为什么C++ 03文件流不接受字符串构造函数参数?

为什么以下代码编译C++11而不在C++03(两个gcccl)

#include <string>
#include <iostream>
#include <fstream>

int main(int argc, char* argv[]) {
    const std::string t("Hello");
    std::ofstream out(t);
}
Run Code Online (Sandbox Code Playgroud)

为什么C++03流不接受std::string构造函数参数?这个决定是基于某些事情还是偶然发生的?

c++ fstream library-design c++11 c++03

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

xcopy安装Visual C++ 2008运行时

有没有可能让我的C++应用程序在一台机器上运行而不需要Microsoft Visual C++ 2008 Redistributable Package在程序文件夹中包含一些dll?

我想让我的应用程序尽可能便携,并希望避免forced安装运行时,所以它可能吗?

我不关心可能的未来运行时.dll更新和其他相关的麻烦,我只是想为我的应用程序提供它可能需要的一切(在每台Windows XP+机器上).有人面临同样的问题吗?

谢谢.

packaging runtime visual-studio-2008 visual-c++

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