小编rid*_*hap的帖子

长度为N的数组可以包含值1,2,3 ... N ^ 2.是否有可能在O(n)时间内排序?

给定一个长度为N的数组.它可以包含范围从1到N ^ 2(N平方)的值,包括值,值是整数.是否可以在O(N)时间内对此数组进行排序?如果可能怎么样?

编辑:这不是作业.

sorting algorithm radix-sort

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

如何查看在命名管道中排队的数据量?

在Linux框中,我有几个进程写入命名管道,另一个进程读取它.我怀疑我的读者没有跟上,管道中有很多数据排队.

有人可以告诉我,有没有办法检查/查看管道中排队的数据量?任何Linux命令或C API?

感谢您的时间.

--KS

c linux

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

从Windows文件夹获取PuTTY会话

我的旧工作站上有硬盘,我没有从旧机器导出PuTTY会话.我处于这种情况,我无法从它启动,但我把它作为从属驱动器.

有什么方法可以从那个硬盘中清除PuTTY会话吗?

windows registry putty

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

何时为类创建v表?

我知道,如何实现虚函数调用解析不是C++标准的一部分,也不是说有关vptr或v-table的任何内容,但请允许我在这里提出这个问题.

我听说v-table是编译器用来实现虚函数调用解析的常用技术.我对此的理解是每个进程每个类只需要一个虚拟表.

我想知道的是,什么时候为一个类创建了v-table?
是否在第一次在进程空间中创建给定类型(需要v表)的类时?
在该进程空间中所有其他随后创建的该类型的对象是指已创建的v表?
什么时候会删除这个v表?

我很抱歉,如果这是太主观或讨论类型的问题,但这些问题在我的脑海中徘徊了一段时间,我觉得它可以在这里问.

c++ virtual-functions vptr

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

C++中的抽象类机制有什么特别之处?

我有几天困扰我的问题.

抽象类是一种我们无法实例化的特殊类,对吧?(其被表示/通过给人一种"= 0"的至少一个方法的声明,它看起来像事后指定).

什么额外的好处是,抽象类机制带来的C++,一个"正常"的基类无法实现?

c++ abstract-class pure-virtual

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

实现提供了复制构造函数和赋值运算符

关于实现(编译器)不提供复制构造函数和复制赋值运算符的情况,我有一点混淆.

  1. 当我们在课堂上声明复制ctor和/或复制赋值运算符时.
  2. 有人说当我们从一个具有私人复制ctor和/或复制赋值运算符的类派生时.

我对第二种情况有点困惑,第二种情况正是如此.
a)实现不会为您声明它们,因此您将收到编译时错误.
或者
b)实现将声明并定义它们,但是当编译器定义的实现试图找到基类的方法时,我们将得到编译时错误.

昨天我接受了一次采访,我说(b)正在发生,但面试官不同意,他说(a).

我尝试在Microsoft C/C++ 14.00和gcc 4.4.5中编译以下代码

struct A
{
private:
  A& operator = ( const A& );
};

struct B : A
{
};


int main()
{
  B b1;
  B b2;
  b1 = b2;

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

Microsoft编译器输出

ctor01.cpp(9) : error C2248: 'A::operator =' : cannot access private member declared in class 'A'
ctor01.cpp(4) : see declaration of 'A::operator ='
ctor01.cpp(2) : see declaration of 'A'
This diagnostic occurred in the compiler generated function …
Run Code Online (Sandbox Code Playgroud)

c++ copy-constructor noncopyable copy-assignment

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

在C中定义常量

我正在使用C++很长一段时间,现在我正在进行C项目.
我正在将C++程序转换为C.

我对程序中使用的常量有困难.
在C++代码中,我们定义了常量

static const int X = 5 + 3;
static const int Y = (X + 10) * 5
static const int Z = ((Y + 8) + 0xfff) & ~0xfff
Run Code Online (Sandbox Code Playgroud)

在C中,这些定义会引发错误.当我使用#defines代替常量时

#define X (5+3);
#define Y (((X) + 10) * 5)
#define Z ((((Y) + 8) + 0xfff) & ~0xfff)
Run Code Online (Sandbox Code Playgroud)

C编译器抱怨"Y"和"Z"的定义.

有谁可以帮我找到解决方案.

c c++

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