小编R. *_*des的帖子

如何删除子模块?

如何删除Git子模块?

顺便说一句,有什么理由我不能干脆做到 git submodule rm whatever吗?

git git-submodules

3366
推荐指数
31
解决办法
83万
查看次数

常规演员与static_cast与dynamic_cast

我已经编写了近二十年的C和C++代码,但这些语言的一个方面我从未真正理解过.我显然使用常规演员表,即

MyClass *m = (MyClass *)ptr;
Run Code Online (Sandbox Code Playgroud)

到处都是,但似乎有两种其他类型的演员,我不知道其中的区别.以下代码行之间有什么区别?

MyClass *m = (MyClass *)ptr;
MyClass *m = static_cast<MyClass *>(ptr);
MyClass *m = dynamic_cast<MyClass *>(ptr);
Run Code Online (Sandbox Code Playgroud)

c++ pointers casting

1661
推荐指数
8
解决办法
67万
查看次数

反转字符串的最佳方法

我只需要在C#2.0中编写一个字符串反向函数(即LINQ不可用)并想出了这个:

public string Reverse(string text)
{
    char[] cArray = text.ToCharArray();
    string reverse = String.Empty;
    for (int i = cArray.Length - 1; i > -1; i--)
    {
        reverse += cArray[i];
    }
    return reverse;
}
Run Code Online (Sandbox Code Playgroud)

就个人而言,我并不是对这个功能感到疯狂,并且我确信有更好的方法可以做到这一点.在那儿?

.net c# algorithm unicode performance

419
推荐指数
20
解决办法
61万
查看次数

如何将unique_ptr参数传递给构造函数或函数?

我是新手在C++ 11中移动语义,我不太清楚如何处理unique_ptr构造函数或函数中的参数.考虑这个引用自身的类:

#include <memory>

class Base
{
  public:

    typedef unique_ptr<Base> UPtr;

    Base(){}
    Base(Base::UPtr n):next(std::move(n)){}

    virtual ~Base(){}

    void setNext(Base::UPtr n)
    {
      next = std::move(n);
    }

  protected :

    Base::UPtr next;

};
Run Code Online (Sandbox Code Playgroud)

这是我应该如何编写unique_ptr参数的函数?

我需要std::move在调用代码中使用吗?

Base::UPtr b1;
Base::UPtr b2(new Base());

b1->setNext(b2); //should I write b1->setNext(std::move(b2)); instead?
Run Code Online (Sandbox Code Playgroud)

c++ arguments unique-ptr c++11

377
推荐指数
5
解决办法
15万
查看次数

在GitHub中合并分叉

我分叉了一个GitHub存储库.然后我把一些更改推到了我的前叉.然后原始存储库合并了我的更改和其他一些.现在,我想合并那些我不知道的变化.我尝试了一个简单的拉动,然后是推送,但是这会让我的提交重复一次.最好的方法是什么?

git github

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

C++ 11中引入了哪些重大变化?

我知道至少有一个C++ 11中的更改​​会导致一些旧代码停止编译:explicit operator bool()在标准库中引入,替换旧的实例operator void*().当然,这将破坏的代码可能是首先不应该有效的代码,但它仍然是一个重大变化:过去不再有效的程序.

还有其他重大变化吗?

c++ c++11

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

什么是堆栈展开?

什么是堆栈展开?通过搜索但找不到启发性的答案!

c++ stack

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

C++ 11中支持Unicode的程度如何?

我读过并听说C++ 11支持Unicode.关于这一点的一些问题:

  • C++标准库如何支持Unicode?
  • 难道std::string做自己应该?
  • 我该如何使用它?
  • 潜在的问题在哪里?

c++ unicode c++11

176
推荐指数
5
解决办法
7万
查看次数

cout同步/线程安全吗?

一般来说,我假设流不同步,由用户做适当的锁定.但是,做cout标准库中的特殊处理吗?

也就是说,如果多个线程正在写入,cout它们会破坏cout对象吗?据我所知,即使同步,你仍然会得到随机交错的输出,但保证交错.也就是说,cout从多个线程使用是否安全?

该供应商是否依赖?gcc做什么?


重要提示:如果您说"是",请为您的答案提供某种参考,因为我需要某种证明.

我关注的还不是基础系统调用,这些都很好,但是流在顶部添加了一层缓冲.

c++ gcc c++11

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

我可以在Mercurial压缩提交吗?

我有一对应该只是一个提交.如果我使用git,我会使用:

git rebase -i <some-commit-before>
Run Code Online (Sandbox Code Playgroud)

然后压扁它们.

我可以用mercurial做到吗?如果是这样,怎么样?

mercurial

105
推荐指数
4
解决办法
5万
查看次数