草庐IT

有一手

全部标签

c++ - 子对象有一个指向其父对象的指针是不好的做法吗?

在C++应用程序中,假设我有一个窗口类,它有多个控件类实例。如果我的窗口想要通知控件它已被点击,我可以使用:control[n]->onClick();现在假设控件需要知道它的父窗口的大小,或者其他一些信息。为此,我正在考虑为控件提供一个指向自身(this)的指针作为其构造函数的参数。然后我会从控件的onClick()方法中进行这样的调用:Sizewindowsize=parent->getSize();这会被认为是不好的做法,还是以任何其他方式与面向对象编程的值(value)观相矛盾?如果是这样,他会以什么“正确”的方式做到这一点?作为一个附带问题,拥有Class或Class*的ve

c++ - 子对象有一个指向其父对象的指针是不好的做法吗?

在C++应用程序中,假设我有一个窗口类,它有多个控件类实例。如果我的窗口想要通知控件它已被点击,我可以使用:control[n]->onClick();现在假设控件需要知道它的父窗口的大小,或者其他一些信息。为此,我正在考虑为控件提供一个指向自身(this)的指针作为其构造函数的参数。然后我会从控件的onClick()方法中进行这样的调用:Sizewindowsize=parent->getSize();这会被认为是不好的做法,还是以任何其他方式与面向对象编程的值(value)观相矛盾?如果是这样,他会以什么“正确”的方式做到这一点?作为一个附带问题,拥有Class或Class*的ve

C++ 在结构初始化期间出现奇怪的错误,里面有一个数组

我尝试编译非常简单的代码:structT{inta[3];intb;intc;};intmain(){constintas[3]={5,6,7,};constTt{as,2,3,};return0;}但它给了我非常奇怪的错误:t.cpp:Infunction'intmain()':t.cpp:11:5:error:arraymustbeinitializedwithabrace-enclosedinitializer};^据我了解,编译器希望我在一个地方初始化所有内容。如何分别初始化字段,然后在初始化结构时使用它们? 最佳答案 数组

C++ 在结构初始化期间出现奇怪的错误,里面有一个数组

我尝试编译非常简单的代码:structT{inta[3];intb;intc;};intmain(){constintas[3]={5,6,7,};constTt{as,2,3,};return0;}但它给了我非常奇怪的错误:t.cpp:Infunction'intmain()':t.cpp:11:5:error:arraymustbeinitializedwithabrace-enclosedinitializer};^据我了解,编译器希望我在一个地方初始化所有内容。如何分别初始化字段,然后在初始化结构时使用它们? 最佳答案 数组

c++ - 是否有一个快速的内存队列我可以使用它在达到一定大小时交换项目?

我使用c/c++/cuda不到一周,并且不熟悉库方面的所有可用选项(抱歉,如果我的问题太古怪或不可能)。这是我的问题,我有一个过程,它获取数据并对其进行分析,然后执行3件事中的1件事,(1)保存结果,(2)丢弃结果或(3)分解数据并将其发送回处理。通常选项(3)会创建大量数据,并且我很快就会超过我可用的内存(我的服务器是16gigs)所以我解决这个问题的方法是设置一个队列服务器(rabbitmq),我将发送并从中接收工作(一旦达到一定大小的内存,它就会交换队列)。当我使用具有更快网卡的小型服务器来传输数据时,这非常有效,但最近我一直在学习并将我的代码从Java转换为c/c++并在GPU

c++ - 是否有一个快速的内存队列我可以使用它在达到一定大小时交换项目?

我使用c/c++/cuda不到一周,并且不熟悉库方面的所有可用选项(抱歉,如果我的问题太古怪或不可能)。这是我的问题,我有一个过程,它获取数据并对其进行分析,然后执行3件事中的1件事,(1)保存结果,(2)丢弃结果或(3)分解数据并将其发送回处理。通常选项(3)会创建大量数据,并且我很快就会超过我可用的内存(我的服务器是16gigs)所以我解决这个问题的方法是设置一个队列服务器(rabbitmq),我将发送并从中接收工作(一旦达到一定大小的内存,它就会交换队列)。当我使用具有更快网卡的小型服务器来传输数据时,这非常有效,但最近我一直在学习并将我的代码从Java转换为c/c++并在GPU

c++ - 有一个 strlen 和一个 wcslen,但是否有类似 strlen<char> 或 strlen<wchar_t> 的模板函数?

有一个strlen和一个wcslen函数,但是有一个模板字符数组长度函数,所以你可以做一些类似strlen的事情或strlen?如果没有,那我想我会自己写。 最佳答案 你有std::string使用的char_traits助手。它提供char_traits::length和char_traits::length. 关于c++-有一个strlen和一个wcslen,但是否有类似strlen或strlen的模板函数?,我们在StackOverflow上找到一个类似的问题:

c++ - 有一个 strlen 和一个 wcslen,但是否有类似 strlen<char> 或 strlen<wchar_t> 的模板函数?

有一个strlen和一个wcslen函数,但是有一个模板字符数组长度函数,所以你可以做一些类似strlen的事情或strlen?如果没有,那我想我会自己写。 最佳答案 你有std::string使用的char_traits助手。它提供char_traits::length和char_traits::length. 关于c++-有一个strlen和一个wcslen,但是否有类似strlen或strlen的模板函数?,我们在StackOverflow上找到一个类似的问题:

c++ - C++11 中是否有一个模板来推断将值传递给函数时要使用的最佳类型?

我想写一个模板函数templatevoidf(Tv);这样v如果它足够小,将通过值传递,否则通过引用到常量。为此,我使用了一个小helpertemplatestructparameter_helper;templatestructparameter_helper{typedefTtype;};templatestructparameter_helper{typedefconstT&type;};templatestructparameter{typedeftypenameparameter_helper::typetype;};过去这样我可以拥有templatevoidf(typena

c++ - C++11 中是否有一个模板来推断将值传递给函数时要使用的最佳类型?

我想写一个模板函数templatevoidf(Tv);这样v如果它足够小,将通过值传递,否则通过引用到常量。为此,我使用了一个小helpertemplatestructparameter_helper;templatestructparameter_helper{typedefTtype;};templatestructparameter_helper{typedefconstT&type;};templatestructparameter{typedeftypenameparameter_helper::typetype;};过去这样我可以拥有templatevoidf(typena