是否存在数据结构的备忘单,如TreeMap,SortedMap,HashSet等,以及在什么情况下使用哪一种.你推荐的文章好吗?
我有以下用例,一个带有一些boolean和int变量的结构
struct a {
int field1;
bool field2;
bool field3;
};
Run Code Online (Sandbox Code Playgroud)
我正在重构这段代码,并为struct编写构造函数,问题是字段的默认初始化.
我不是在批评任何语言构造,但理想情况下我希望null成为语言本身的一部分
我的意思是我应该能够为结构a定义为
a : field1(null.int), field2(null.bool), field3(null.bool) {}
Run Code Online (Sandbox Code Playgroud)
C++不允许它,因为没有定义null.int或null.bool.在C++中唯一的方法是
a: field1(-1), field2(false), field3(false) {}
Run Code Online (Sandbox Code Playgroud) 例如
class Test {
public:
void setVal(const std::string& str) {
this.isVal = str; //This will error out
}
private:
string isVal;
};
Run Code Online (Sandbox Code Playgroud) 有一个带有几个整数和指针的类,
class A {
int a;
int b;
char* s;
public:
...
class ConstructA {
A &a;
public:
ConstructA (A& ta) : a(ta) {}
...
};
};
Run Code Online (Sandbox Code Playgroud)
如上所示,ConstructA负责构造对象A.我想编写一个方法来查看ConstructA是否成功构造了对象a.你会怎么做?
问题可能是主观的,所以语法是
std::ostream& operator << (std::ostream & o, const SomeClass &a) {
return o << a.accessor().. ;
}
Run Code Online (Sandbox Code Playgroud)
你通常什么时候为你编写的类定义它,什么时候避免为你的类编写这个友元函数.
我正在尝试将代码从使用java 计时器移植到使用scheduledexecutorservice
我有以下用例
class A {
public boolean execute() {
try {
Timer t = new Timer();
t.schedule (new ATimerTask(), period, delay);
} catch (Exception e) {
return false;
}
}
}
class B {
public boolean execute() {
try {
Timer t = new Timer();
t.schedule (new BTimerTask(), period, delay);
} catch (Exception e) {
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我应该只使用ScheduledExecutorService替换A类和B类中的Timer实例,并将ATimerTask和BTimerTask类设置为Runnable类,例如
class B {
public boolean execute() {
try {
final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
scheduler.scheduleWithFixedDelay (new …
Run Code Online (Sandbox Code Playgroud) 有一个用例,其中需要维护对数据库开放的连接,以便定期执行查询.
建议在执行查询后关闭连接,然后在句点间隔(10分钟)后重新打开它.我猜不会,因为打开与数据库的连接是昂贵的.
连接池是替代方案并继续使用连接吗?
在C++中,在编译器放弃之前,堆栈段可以增长多少,并说它不能为堆栈分配更多内存.
在linux(fedora)32位机器上使用gcc.
我有这两个文件
文件: 11
11
456123
Run Code Online (Sandbox Code Playgroud)
文件: 22
11
789
Run Code Online (Sandbox Code Playgroud)
输出 diff 11 22
2c2
< 456123
---
> 789
Run Code Online (Sandbox Code Playgroud)
输出为
< 456123
> 789
Run Code Online (Sandbox Code Playgroud)
我希望它不打印2c2
和---
行.我查看了手册页但找不到任何帮助.有任何想法吗?该文件有超过1000行.
我有这样的代码
boolean start = false;
ThreadX a = new ThreadX();
a.start();
start = true;
Class ThreadX extends Thread {
public void run() {
while (start == true) {
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码有问题吗?我已经执行了这个并且没有看到任何问题只是想要挂起是否线程将启动并且从不执行start = true