在主要:
Text *p1 = new Text("alfa");
Text *p2 = new Text("delta");
p1 = p2;
Run Code Online (Sandbox Code Playgroud)
在Text.h中
private:
Text (const Text& t);
Text& operator=(const Text& t);
Run Code Online (Sandbox Code Playgroud)
但是,我认为编译器应该给出一个错误,例如"operator = is unaccessible",而代码工作就像复制构造函数和operator =不是私有的.实际上,最后p1 = p2 ="delta".为什么?一些忠告?谢谢大家.
我有一个以这种方式声明的函数:
unsigned WINAPI searchSTR(void *j);
Run Code Online (Sandbox Code Playgroud)
我需要一个指向这个功能的指针.我的想法是:
unsigned (*pointerF) (void*);
pointerF = &searchSTR;
Run Code Online (Sandbox Code Playgroud)
但是有一个错误:
"1 error C2440: '=' : cannot convert from 'unsigned int (__stdcall *)(void *)'
to 'unsigned int (__cdecl *)(void *)' ".
我尝试了其他的sintax,但似乎没有什么是正确的,他不喜欢WINAPI这个词.
你能建议我正确的语法吗?也许这很容易,但我被阻止了!谢谢大家
我应该在Visual C++中用一个队列实现一个类; 在这个队列中我要做原子操作.在网上搜索,我发现了类std :: atomic,但我还有一些问题.首先是:有什么区别:
一个) atomic <queue <T>> fifo;
B)queue <atomic <T>> fifo;
?
第二个问题是:如何像push一样进行原子操作?
push (T.load)
Run Code Online (Sandbox Code Playgroud)
是正确的解决方案吗?
最后一个问题是:如果我使用互斥锁保护队列上的某些操作,我还需要对它进行原子操作吗?
任何建议表示赞赏,问候