小编ami*_*mit的帖子

C++目录重组

我在大约10个目录中有大约500个文件的源代码.我需要重构目录结构 - 这包括更改目录层次结构或重命名某些目录.

我正在使用svn版本控制.重构有两种方法:一种保留svn历史(使用svn move命令),另一种不保留.我认为使用eclipse CDT和SVN插件重构保留svn历史要容易得多(visual studio根本不适合目录重构).

但是现在由于代码没有发布,我们可以选择不保存历史记录.

仍然存在更改头文件的include指令的任务,无论它们包含在哪里.我正在考虑使用python编写一个小脚本 - 接收从当前文件名到新文件名的映射,并在需要的地方进行重命名(使用像sed这样的东西).有没有人做过这种目录重构?你知道好的相关工具吗?

c++ refactoring

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

是否可以使用JDK 1.6构建java代码以在JRE 1.5上运行?

在使用JDK 1.6编译时,是否可以选择构建在JRE 1.5上运行的Java代码?

PS:我是Java新手.

java java-5 java-6

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

C++的简单动态图形显示

我正在寻找一个简单的C++图形布局库.我想将库嵌入到基于wxWidgets的可视化工具中.总之,我正在寻找像graphviz这样的东西,除了动态 - 当事件发生时,只需要加载图形的变化,而不是完整的显示.有dynagraph,但它似乎是一个死的项目.我以前曾被建议使用VTK - 但它是重量级的.

我正在寻找可用于商业用途的开源,非copyleft类库(GPL已经出来,LGPL应该没问题).我愿意接受谷歌不会给出的建议.

c++ visualization real-time

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

你有没有开始使用C++ 0x?

大多数编译器已经支持C++ 0x.你开始使用C++ 0x还是在等待x的定义?我必须对我的代码进行一些重构; 我应该开始使用新功能吗?

c++ c++11

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

返回一个新对象和另一个值

我想返回两个值,其中一个是一个新对象.我可以这样做std::pair:

class A {
//...
};

std::pair<A*, int> getA()
{
   A* a = new A;
   //...
} 
Run Code Online (Sandbox Code Playgroud)

为了使代码异常安全,我想做:

std::pair<std::auto_ptr<A>, int> getA()
{
    std::auto_ptr<A> a(new A); 
    //...
} 
Run Code Online (Sandbox Code Playgroud)

但是这不会编译,因为在auto_ptr不修改被复制的情况下无法auto_ptr复制.好吧,这意味着auto_ptr不像其他类型那样构成(再一次).在这种情况下返回新对象的好方法是什么?

一种选择是返回a shared_ptr而另一种是inout引用.但我正在寻找其他替代方案.我可以这样做:

class AGetter
{
    void getAExecute()
    {
         //...
         // set a_ and i_
    }
    std::auto_ptr<A> getA() const
    {
         return a_.release();
    }
    int getInt() const
    {
         return i_;
    }
    private:
    std::auto_ptr<A> a_;
    int i_;
};
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c++ auto-ptr

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

如何防止派生类公开私有/受保护的虚拟函数?

构建基类接口的理由很充分,所有虚函数都是私有或受保护的(参见本文).但是,如何防止派生类(可能在外部客户端手中)使私有虚函数成为公共?在Virtually Yours中,作者谈到了这个问题,但没有讨论解决方案.

编辑:从您的答案和我之前的想法,似乎没有办法阻止这一点.但是因为在这种情况下,很容易出错(客户端肯定会触及受保护的虚函数),编译器会警告这种用法是有意义的.我试着用g ++测试它.首先,我写道:

class A {
        protected:
        virtual void none() { return; }
};

class B: public A {
        public:
        void none() { return; }
};
Run Code Online (Sandbox Code Playgroud)

g++ -c -Wall -pedantic file.cpp编译没有错误.添加-Weffc++发出警告:warning: ‘class A’ has virtual functions and accessible non-virtual destructor这是有道理的.添加虚拟析构函数后,没有警告.因此,这个容易出错的案例没有任何警告.

c++ virtual overriding access-specifier

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

了解行为驱动开发(BDD)

来自维基百科有关BDD的文章:

BDD是第二代,从外到内,基于拉动,多利益相关方,多规模,高自动化,敏捷的方法.它描述了与明确定义的输出相互作用的循环,从而提供了重要的可运行的,经过测试的软件.

即使在通过引用的演示文稿之后,我也无法理解所使用的形容词,例如"从外到内","基于拉"和"多尺度" .请帮忙解释一下.

bdd terminology

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

如何将 Remix run 中的图标从默认图标替换为自定义图标?

我无法弄清楚如何删除默认的图标并将其替换为 Remix 中的自定义图标。在网页中,默认的图标被替换,但是当我在不同的选项卡中从我的网站打开媒体文件时,比如说我的网站上托管的图像或 PDF 文件,在这种情况下,会出现 Remix 的默认图标。

在此输入图像描述

您可以在上面的屏幕截图中看到。在普通网页中,我的自定义图标工作正常。我是这样实现的 -

export function links() {
  return [
   {
     rel: 'apple-touch-icon',
     sizes: '180x180',
     href: '/favicon/apple-touch-icon.png',
   },
   {
     rel: 'icon',
     type: 'image/png',
     sizes: '32x32',
     href: '/favicon/favicon-32x32.png',
   },
   {
     rel: 'icon',
     type: 'image/png',
     sizes: '16x16',
     href: '/favicon/favicon-16x16.png',
   },
   {
     rel: 'icon',
     type: 'image/x-icon',
     href: '/favicon/favicon.ico',
   },
   { rel: 'manifest', href: '/favicon/site.webmanifest' },
   {
    rel: 'mask-icon',
    href: '/favicon/safari-pinned-tab.svg',
    color: '#5bbad5',
   },
 ]
}
Run Code Online (Sandbox Code Playgroud)

但对于托管媒体文件来说,这不起作用。任何帮助将不胜感激,谢谢:)

javascript favicon reactjs remix.run

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

将C++应用程序划分为库

我的C++项目越来越大.我们现在也开始使用cmake进行构建.我想将应用程序划分为库,以便它们可以链接进行测试,准备应用程序包等.现在我将我的代码分成如下库:

  • 核心
  • GUI
  • 实用程序(核心和其他组件使用它们)
  • io(使用核心类的打印函数进行xml解析/输出)
  • 测试(单元测试)
  • 模拟器(测试核心)

另一种方法是根据目录结构进行划分 - 每个目录有一个库.但是从我过去的经验来看,它导致了太多的库,然后在链接期间难以处理库依赖性.

这方面有什么最佳做法吗?

c++

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

将mediawiki转换为LaTeX语法

我需要将mediawiki转换为LaTeX语法.公式应保持不变,但我需要转换,例如= something = into\chapter {something}.

虽然这可以通过一些sed获得,但是逐项环境会让事情变得有点脏,所以我想知道是否可以生成更好的解决方案.什么对这项任务有用?

与这个问题相反(慷慨地复制).Pandoc是这个问题的答案,但可能还没有.

mediawiki latex

4
推荐指数
2
解决办法
3416
查看次数