小编dra*_*osb的帖子

功能通过引用传递

最近一位c ++专家告诉我:

void f(int &*r);
Run Code Online (Sandbox Code Playgroud)

是参考示例的有效传递,虽然我认为这是某种指向非法的引用的指针.根据我的知识,通过引用传递的正确形式是以下形式之一:

void f1(int *&r);
void f2(int &r);
Run Code Online (Sandbox Code Playgroud)

你能解释第一个例子(函数f)的情况吗?

c++ pointers reference function pass-by-reference

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

使用时间戳列上的equals运算符的Cassandra查询不起作用

我在Cassandra中创建了一个如下表:

CREATE TABLE sp.status(
ams text,
load_start_time timestamp,
file_path text,
file_timestamp timestamp,
host text,
load_end_time timestamp,
records_ignored int,
records_imported int,
records_in_file int,
status text,
PRIMARY KEY (ams, load_start_time)
) WITH CLUSTERING ORDER BY (load_start_time DESC)
Run Code Online (Sandbox Code Playgroud)

我想从特定日期中选择一行.当我使用>运算符时,一切都按预期工作.但是,如果我使用=运算符,我得不到任何数据.

SELECT * FROM sp.status WHERE ams = 'RRG' AND load_start_time='2016-01-20 10:10:27' allow filtering;
Run Code Online (Sandbox Code Playgroud)

在数据库中有一行具有load_start_time的值,如果在上面的查询中我替换= with> for load_start_time,则返回该行.

有人能解释为什么会这样吗?

我实际上需要这个DELETE语句,我不能使用范围运算符,只有=.

cql cassandra cql3 cqlsh cassandra-2.0

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

带有 Hoare 分区方案的 QuickSelect

是否可以使用 Hoare 分区实现 QuickSelect 算法?

至少乍一看似乎无法完成,因为 Hoare 分区不一定返回枢轴的索引。

我错过了什么吗?

sorting algorithm quicksort

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

指针赋值不同的行为

嗨,我尝试了以下代码:

int *a=&matrice[4][0];
cout<<*a<<"\n\n";

int *b;
b = &matrice[4,4];   
Run Code Online (Sandbox Code Playgroud)

matrice的定义如下:int matrice[5][5];并且我用一些正常的int值填充它.

第一个赋值有效,但第二个赋值没有错误:

a value of type "int (*)[5]" cannot be assigned to an entity of type "int * " .

我希望他们两个在编译时给我一个错误.

你能解释为什么会有这种不同的行为吗?

c++ pointers

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

虚函数重载

让我们说我们有:

Class A
{
public:
   virtual void print(){ std::cout<<" A "<<endl; }
}

Class B : public A
{
public:
   virtual void print(int x){ std::cout<<" B "<<endl;}

}
Run Code Online (Sandbox Code Playgroud)

我认为函数print的B类定义会隐藏A类的函数print.但是下面的代码工作并打印"A"

int main()
{

A * a = new B;

a->print();

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

如果我像这样写主函数它不起作用:

int main()
{

B b;

b.print();

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

我想知道的是...在我的第一个main()示例中,我有一个调用print()的B对象...不应该print()被隐藏并且有一个错误,就像在第二个main()示例中一样

c++ polymorphism overloading

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