小编the*_*mis的帖子

GIT - 如何在所有分支中保持文件通用

假设我在分支"master"中有一个文件"ChangeLog".我想记录有关此文件中任何分支的所有更改的信息(比提交消息和其他描述性信息更详细).

git checkout -b revA,执行编辑,更新ChangeLog和git commit.

然后我git checkout -b master.此结帐将使用分支"master"中的版本替换ChangeLog.

我想要的是ChangeLog自动成为最近修改过的版本,无论我检查哪个分支.我不想手动合并(或者,很可能,忘记合并)ChangeLog从其他分支到我当前的分支.

我还没有发现任何似乎允许这样的东西.是否有可能做到这一点?

git version-control

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

如何使用具有C++ 0x功能的autoconf

autoconfshared_ptrTR1/BOOST C++ 0x模板一起使用的最佳实践是什么,以便最大限度地提高可移植性和可维护性?

随着autoconf我能确定是否shared_ptr可以作为std::tr1::shared_ptr和/或boost::shared_ptr.鉴于相同的功能有两个不同的名称,我有以下问题:

  1. 在代码中,应该如何shared_ptr引用?
  2. 应该std::tr1::shared_ptr首选boost::shared_ptr吗?

对于第一个,代码当前正在使用预处理器条件,允许非限定引用shared_ptr,la

#if HAVE_STD_TR1_SHARED_PTR
using std::tr1::shared_ptr;
#elif HAVE_BOOST_SHARED_PTR
using boost::shared_ptr;
#else
#error "No definition for shared_ptr found"
#endif
Run Code Online (Sandbox Code Playgroud)

其次,代码使用std::tr1::over boost::来最小化对外部库的依赖性(即使库被广泛使用).

这两种解决方案是否常见?还有更好的吗?

c++ autoconf c++11

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

在struct中定义的调用友元函数需要前向声明吗?

在阅读Karlsson的超越C++标准时,作者在类reference_counted的主体中定义了朋友函数intrusive_ptr_add_ref(参见第36页).在适当的时间使用Argument Dependent Lookup自动调用该函数.

从来没有看过在类的主体中定义的友元函数,我玩过并发现如果不使用ADL查找,gcc 4.4.3需要前向声明.实际上,如果没有前向声明,似乎没有办法引用adl_no.这是C++标准的一部分还是gcc的神器?(我没有Windows框所以不能尝试VC).

#include <cstdlib>
#include <iostream>


namespace {
    void adl_no();        // Remove this and it won't compile with gcc

    struct Q {
        friend void adl_yes(const Q&) {
            std::cout << "adl_yes" << std::endl;
        }

        friend void adl_no() {
            std::cout << "adl_NO" << std::endl;
        }
    };
}


int main(int argc, char** argv)
{
    adl_yes(Q());
    adl_no();

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

c++ friend

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

标签 统计

c++ ×2

autoconf ×1

c++11 ×1

friend ×1

git ×1

version-control ×1