小编Ris*_*abh的帖子

为什么使用cin,cout或%I64d优于C++中的%lld说明符?

为什么许多在线评委建议"不要使用%lld说明符来读取或写入С++中的64位整数.最好使用cin,cout流或%I64d说明符." ?

c++

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

为什么Q.head = Q.tail + 1表示CLRS中的队列已满

我正在阅读CLRS中的基本数据结构,在阅读Queue ADT时,我遇到了这个问题:

当Q.head = Q.tail + 1时,队列已满,如果我们尝试将一个元素入队,则队列溢出.

它总是如此吗?因为如果Q.tail等于Q.length,那么我们根据文本设置Q.tail = 1.因此,如果我们完全填充队列,那么Q.tail和Q.head将指向相同的位置(索引1),并且上述条件不成立.我在这里错过了什么?请指出我在哪里误解了文本.提前致谢.

这里属性Q.head索引或指向队列的头部.属性Q.tail索引新到达的元素将被插入队列的下一个位置.

algorithm queue data-structures

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

不能用新值覆盖stringstream变量

string whatTime(int seconds) {

 string h,m,s,ans;
 stringstream ss;

 ss << (seconds/3600); 
 seconds -= (3600*(seconds/3600));
 ss >> h;
 ss.str("");

 ss << (seconds/60);
 seconds -= (60*(seconds/60));
 ss >> m;
 ss.str("");

 ss << seconds;
 ss >> s;


 return (h + ":" + m + ":" + s );

}
Run Code Online (Sandbox Code Playgroud)

以上程序的输出以这种格式"some_value ::"我也尝试过ss.str(std :: string())和ss.str().clear(),但即使这样也行不通.有人可以建议如何解决这个问题吗?

c++ stringstream

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

使用超类引用变量在Java子类对象中重载/覆盖方法

 class A{
 void m1(A a) {System.out.print("A");}
  } 
  class B extends A{
  void m1(B b) {System.out.print("B");}
  } 
  class C extends B{
  void m1(C c) {System.out.print("C");}
  }

 public class d {

 public static void main(String[] args) {

  A c1 = new C(); C c2 = new C();c1.m1(c2);

 }}
Run Code Online (Sandbox Code Playgroud)

此代码的输出是'A'.

但是,如果我将A类修改为:

 class A{
 void m1(C a) {System.out.print("A");}
  }
Run Code Online (Sandbox Code Playgroud)

那么输出就是'C'.有人可以解释这段代码是如何工作的?

java inheritance class

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

如何在C++中使用multiset插入一对

我想在多集中插入一个整数值和一对.

所以我宣布它为:

multiset < int, pair < int, int> > mp;
int m,n,p;
Run Code Online (Sandbox Code Playgroud)

要在multiset中插入,我试过这个:

mp.insert(make_pair(m, make_pair(n,p))); // Compile time error
Run Code Online (Sandbox Code Playgroud)

但它给出编译时错误......有人可以建议正确的方法来实现它.

c++ multiset std-pair

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

Java 中的任务是什么?

Java通过各种机制支持应用程序运行异步任务,那么任务到底是什么?JavaDocs:https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

java concurrency

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

对于外部和静态变量,初始值必须是常量表达式吗?

在阅读Dennis M. Ritchie的"The C Programming Language"时,我遇到了这样一句话:

对于外部和静态变量,初始化程序必须是常量表达式.

我无法理解常量表达式在这里意味着什么,因为下面的代码编译没有任何错误,不是语句:static int a = n-1,一个非常量表达式?请指出我在这里缺少什么.提前致谢.

#include<iostream>
using namespace std;

int main()
{   
int n;
cin>>n;

static int a = n-1;

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

c

0
推荐指数
1
解决办法
177
查看次数