小编Car*_*arl的帖子

如果在抛出异常时我无法承受缓慢的性能,我可以使用STL吗?

例如,我正在编写一个多线程时间关键型应用程序,可以实时处理和流式传输音频.音频中断是完全不可接受的.这是否意味着我不能使用STL,因为抛出异常时可能会减慢速度?

c++ performance exception

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

C++性能提示和经验法则是谁?

在编码时,在性能方面要记住什么是一个好的经验法则?有无穷无尽的方法可以针对特定平台和编译器进行优化,但我正在寻找在编译器和平台上同样适用(或几乎)的答案.

c++ performance cross-platform

7
推荐指数
6
解决办法
4274
查看次数

用于大型资源的Git子树或Git Sub模块?

问题在于:我有很多代码,包括我需要版本的GUI的图片,以便忠实地重新创建软件产品.我也在Windows和Mac上工作.我正在处理的实际代码每天都会变化很小.但是,所有相关资源在构建之前总共大约几GB.

从我的在线研究来看,似乎git-subtree或git-submodule是我需要用来保持我的git存储库快速的.

我相信很多git用户在那里遇到了类似的问题,并且面临同样的决定.

您使用了哪种方法,以及您遇到的问题?

git git-submodules git-subtree

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

如何在 C++ 中对二进制数据使用 >> 和 << 运算符?

有没有办法使用这些运算符来输入和输出二进制数据?我想这样做的原因是它使代码可读。例如:infile>>filedecrypter>>metadataparser>>audiodecoder>>effects>>soundplayer;

c++ stream

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

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

在Git中为多个分支提交更改

典型使用场景:

我有master,branch_foo和branch_bar.一切都是最新的.现在,我做了一个"git checkout master"并开始修复bug.

让我们说修复是在所有分支上处于相同状态的跟踪文件 - 即.在修复之前,每个分支的文件差异不会产生任何差异.

有没有办法将此修复程序提交给所有分支?

git branch one-to-many

5
推荐指数
3
解决办法
495
查看次数

没有可用的复制构造函数或复制构造函数被声明为"显式"

有人可以解释为什么我在这里收到编译错误 - 错误C2558:类'std :: auto_ptr <_Ty>':没有可用的复制构造函数或者复制构造函数被声明为'explicit'

#include <memory>
#include <vector>
#include <string>
template<typename T>
struct test
{
    typedef std::auto_ptr<T> dataptr;
    typedef std::auto_ptr< test<T> > testptr;
    test( const T& data ):
    data_( new T(data) )
    {
    };
    void add_other( const T& other )
    {
        others_.push_back( testptr( new test(other) ) );
    }
private:
    dataptr data_;
    std::vector< testptr > others_;
};

int main(int argc, char* argv[])
{
    test<std::string> g("d");

    //this is the line that causes the error.
    g.add_other("d");

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors cautoptr

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

在内部使用 UTF-8 工作,然后仅在 Windows 中需要时转换为 UTF-16 是否有任何危险?

Visual Studio 试图坚持使用 tchars,当使用 UNICODE 选项编译时,基本上最终会使用 Windows 和其他 API 的宽版本。

那么,在应用程序内部使用 UTF-8(这使得使用 C++ STL 更容易,并且还可以实现更易读的跨平台代码)然后仅在需要使用任何操作系统 API 时才转换为 UTF-16 是否有任何危险? ?

我特别询问的是针对多个操作系统进行开发 - 不使用 UTF-8 的 Windows 以及使用 UTF-8 等其他操作系统的操作系统。

c++ windows cross-platform utf-8 utf-16

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

何时以及为什么生成std :: __ non_rtti_object异常?

我正在使用Visual Studio并执行有效的动态转换.RTTI已启用.

编辑:更新代码更加真实

struct base
{
    virtual base* Clone()
    {
        base* ptr = new base;
        CopyValuesTo( ptr );
        return ptr;
    }
    virtual void CopyValuesTo( base* ptr )
    {
       ...
    }
    virtual ~base()
    {
    }
}

struct derived : public base
{
    virtual base* Clone()
    {
        derived* ptr = new derived;
        CopyValuesTo( ptr );
        return ptr;
    }
    virtual void CopyValuesTo( base* ptr )
    {
       ...
    }
    virtual ~derived()
    {
    }
}  

void Class1::UseNewSpec( base* in_ptr ) //part of a totally unrelated …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2005 exception rtti

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

如何在git的历史记录中更改文件的路径?

这就是我所拥有的 - 我的代码的git repo:

projects
       |-proj1 (no git repo here yet)
             |-subproj1 <- current git repo here
Run Code Online (Sandbox Code Playgroud)

这就是我想要的 - 一个git repo,它正在跟踪一个使用我的代码的新项目:

projects
       |-proj1 <-git repo moved to here, but still tracking files in subproj1
             |-subproj1 (no git repo here)
Run Code Online (Sandbox Code Playgroud)

我想保持历史记录不变,因此新的存储库将引用比原始文件更深的文件.什么是最无痛苦的方法呢?

git history repository

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