Tag: C#的

.NET中的线程安全集合

现在什么时候需要一个线程安全的收集标准(例如设置)。 我是否自己同步,还是有一个固有的线程安全集合?

有什么办法只是不打扰在C#中的输出参数?

我正在打电话: myResult = MakeMyCall(inputParams, out messages); 但我实际上并不关心这些信息。 如果这是一个input参数,我不关心我只是传入一个null。 如果这是回报,我不在乎,我只是离开它。 有没有办法做出类似的事情,还是我需要声明一个variables,然后我会忽略?

std :: multimap <key,value>和std :: map <key,std :: set <value>>有什么区别

我发现他们有一个唯一的键和多个值。

使用if-return-return或if-else-return会更有效率吗?

假设我有一个return的if语句。 从效率的angular度来看,我应该使用 if(A > B): return A+1 return A-1 要么 if(A > B): return A+1 else: return A-1 当使用编译语言(C)或脚本语言(Python)时,我应该更喜欢哪一种?

UTF8到/从STL宽字符转换

是否有可能将std :: string中的UTF8string转换为std :: wstring,反之亦然? 在Windows应用程序中,我将使用MultiByteToWideChar和WideCharToMultiByte。 但是,代码是为多个操作系统编译的,而我仅限于标准的C ++库。

为什么不调用nullptr NULL?

在C ++ 11中, nullptr关键字被添加为更多types的安全空指针常量,因为之前将NULL定义为0的常见定义存在一些问题。 为什么标准委员会select不调用新的空指针常量NULL ,或者声明NULL应该是#define d到nullptr ?

GUI开发:Qt vs GTK

我是新来的graphics用户界面编程。 我主要用C ++编写代码,我需要我的代码和GUI独立于操作系统,所以在做了一些研究之后,我无法在Qt或GTK之间做出决定。 我读过GTK更高效的内存,但也有一些网站表示它是在Qt 4之前。另外Qt有Qt Creator IDE,我认为它是C ++的一个很棒的IDE。 ¿谁都知道每个人的优点和缺点? 谢谢

C ++ 11:为什么std :: condition_variable使用std :: unique_lock?

当我使用std::unique_lock时,我对std::unique_lock的作用感到困惑。 据我了解的文件 , std::unique_lock基本上是一个臃肿的锁守卫,可以交换两个锁之间的状态。 我到目前为止已经使用了pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)来达到这个目的(我猜这就是STL在posix上使用的)。 它需要一个互斥锁,而不是一个锁。 这里有什么区别? std::condition_variable处理std::unique_lock是一个优化的事实吗? 如果是这样,它究竟如何更快?

ValueTypes如何从Object(ReferenceType)派生,仍然是ValueTypes?

C#不允许从类派生结构,但所有的ValueType派生自Object。 这个区别在哪里? CLR如何处理这个问题?

运算符<<必须采用恰好一个参数

啊 #include "logic.h" … class A { friend ostream& operator<<(ostream&, A&); … }; logic.cpp #include "ah" … ostream& logic::operator<<(ostream& os, A& a) { … } … 当我编译时,它说: std :: ostream&logic :: operator <<(std :: ostream&,A&)'必须只有一个参数。 问题是什么?