小编Jac*_*ack的帖子

如何快速找到两个几乎相同的文件之间的差异?

如果您有两个主要相同的文件,其中包含1000条记录,您将如何编写代码来查找它们之间的差异.假设不允许使用unix/linux命令.

我的想法:

因为大多数条目都是相同的,所以我们可以对这两个文件的条目进行排序,然后逐个比较每个条目,例如file1中的条目i与file2中的条目i相比较.它是O(n lg n),n是文件的大小.

有O(n)解决方案吗?

c c++ algorithm comparison data-structures

8
推荐指数
1
解决办法
639
查看次数

如何防止其他人在堆栈上创建您的类的新实例?

假设您编写了一个类A,构造函数是私有的(以防止其他人在堆栈上创建它)然后有一天另一个开发人员添加一个新的ctor,比如A(int),并想在main()中使用:

A a(1)

在堆栈上创建它.你怎么防止这种情况?

我的解决方案

声明一个公共构造函数

  A(void& input )
   {
 Cerr << “please do not create it on stack” << endl ; 
  exit(1);
   }
Run Code Online (Sandbox Code Playgroud)

我不确定它是否正确?

谢谢

c++ constructor private class object

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

标签 统计

c++ ×2

algorithm ×1

c ×1

class ×1

comparison ×1

constructor ×1

data-structures ×1

object ×1

private ×1