草庐IT

int_void

全部标签

c++将函数作为参数传递给另一个带有void指针的函数

我试图将一个函数作为参数传递给另一个带有空指针的函数,但它不起作用#includeusingnamespacestd;voidprint(){cout问题是void函数指针,我可以编写更简单的代码,例如#includeusingnamespacestd;voidprint();voidexecute(void());intmain(){execute(print);//sendsaddressofprintreturn0;}voidprint(){cout但我不知道我是否可以使用void指针它是为了实现这样的东西voidprint(){cout 最佳答案

c++ - vector<bool> 可以由 int 初始化吗

我想枚举[0,31]的bool表示并将其存储在tries中供以后使用。staticconstintN=5;vectortries(N);for(inti=0;iinitializedbyint?//soIdon'thavetodobitoperationfor(intt=0;t 最佳答案 std::vector不能这样做,但是std::bitset能够。由于vector的大小在您的情况下是恒定的,因此您应该使用std::bitset.只需使用您想要的非负整数值对其进行初始化即可。请注意bitset不提供(或模仿)Container接

c++ - 为什么 int 不能用作返回类型的左值,而用户定义的类可以?

structA{};Af1(){returnA();}intf2(){returnint();}intmain(){f1()=A();//OKf2()=int();//errorC2106:'=':leftoperandmustbel-value}为什么f1()=A();正常而f2()=int();失败? 最佳答案 f1()返回A的实例。由于您没有覆盖复制/移动赋值运算符,因此编译器会为您生成一个。您实际上是在调用成员函数:f1()=A();//callsA&operator=(A&&)第二个不起作用,因为int不是类类型。

c++ - 空指针指针(void **)

我正在http://msdn.microsoft.com/en-us/library/windows/desktop/dd389098(v=vs.85).aspx阅读COM示例我真的无法理解(void**)inhr=pGraph->QueryInterface(IID_IMediaControl,(void**)&pControl);所以我尝试了类中不同类型指针返回的一些值classPoint{private:intx,y;public:Point(intinputX,intinputY){x=inputX,y=inputY;}intgetX(){returnx;}intgetY(){

c++,数组索引需要是int吗?

在c++中,const数组arr包含0到80之间的100个数字。如果我将arr中的数字选择为char,它们是否会在每次用作索引时隐式转换为int双指针,即doublepointer[arr[i]]? 最佳答案 是的,它们将被转换为int类型。根据C++标准,“下标运算符[]的解释方式使得E1[E2]与*((E1)+(E2))相同。”如果使用加法运算符,那么“通常的算术转换是为算术或枚举类型的操作数。”这意味着当它们在表达式中用作下标运算符的索引时,char类型的对象将被转换为int类型的对象。请注意,根据您将选择的或默认设置的编译器

c++ - 使用 shared_ptr<void> 初始化结构

我一直遇到一个错误nomatchingconstructorforinitializationof'std::shared_ptr'这是有道理的,但我不知道从哪里开始。这是我正在使用的。#includestructContainer{inttype;std::shared_ptrpayload;Container(intt,constvoid*p):type(t),payload(p){}};intmain(){return0;}我正在尝试使用shared_ptr制作一个通用容器类型为void.我打算对类型进行切换,然后将有效负载转换为适当的类型。我想我可以做类似Containerct

c++ - 当输入 char 代替 int 时避免无限循环

我正在做一个银行系统项目,需要确保每个输入都是有效的(程序必须是健壮的)。如果输入无效,则用户必须重新输入。但是当我有一个int类型的变量并且用户输入char类型时,一个无限循环开始了。例如:inti;cin>>i;如果用户输入char无限循环开始。我怎样才能避免它并再次要求用户输入?谢谢 最佳答案 无限循环的原因:cin进入失败状态,这使得它忽略对它的进一步调用,直到错误标志和缓冲区被重置。cin.clear();cin.ignore(100,'\n');//100-->askscintodiscard100charactersf

c++ - C++ 中 void(*)() 和 void(&)() 的区别

这个问题在这里已经有了答案:FunctionpointervsFunctionreference(4个答案)关闭7年前。在此示例代码中,func1是void(*)(int,double)的类型,funky是void(&)(int,double)。#includeusingnamespacestd;voidsomeFunc(inti,doublej){cout输出显示差异:PFvidEFvidE10:2010:30实际上,这两种类型之间有什么区别?

c++ - 在计算过程中将 int 类型转换为 long long 有什么好处?

我通过以下函数得到了错误的答案。vectorrepeatedNumber(constvector&A){intn=A.size();longlonglinear_sum=0,square_sum=0;inti=0;for(;ians;ans.push_back((linear_sum+square_sum)/2);ans.push_back((-linear_sum+square_sum)/2);returnans;}但是当我将LINE1和LINE2替换为:linear_sum+=(longlong)A[i];square_sum+=(longlong)A[i]*(longlong)A

c++ - 有没有办法将 "inherit"设为 int 等基类型?

我有几个与此类似的结构:structTime64{int64_tMilliseconds;Time64operator+(constTime64&right){returnTime64(Milliseconds+right.Milliseconds);}...blahblahallthearithmeticoperatorsforcalculatingwithTime64andint64_twhichisassumedtorepresentmillisecondsstd::stringParse(){fancytextoutput}}现在我需要添加更多它们。本质上它们只是对任何基类的解