小编Abh*_*eet的帖子

哪个是用于将整数除以2的更好选项?

以下哪种技术是将整数除以2的最佳选择,为什么?

技巧1:

x = x >> 1;
Run Code Online (Sandbox Code Playgroud)

技术2:

x = x / 2;
Run Code Online (Sandbox Code Playgroud)

x是一个整数.

c c++ optimization division micro-optimization

401
推荐指数
20
解决办法
6万
查看次数

我怎么知道内联函数是否实际被替换在它被调用的地方?

我知道内联函数要么被调用,要么被称为普通函数.

但是,我如何知道内联函数是否实际被替换在它被调用的地方,因为将内联函数作为内联处理的决定是在编译时?

c++ inline

37
推荐指数
5
解决办法
1万
查看次数

如何从函数返回两个值?

可能重复:
从函数返回多个值

假设我已将两个值传递给函数,iCalculate(int x, int y)iCalculate返回两个值.具体如下: -

  • (X*Y)
  • (X/Y)

现在我应该如何使用相同的函数同时返回上述两个值?

我的方法是: -

int* iCalculate(int x,int y){
   int temp[2];
   temp[0] = x*y;
   temp[1] = x/y;
   return temp;
}
Run Code Online (Sandbox Code Playgroud)

c function

18
推荐指数
2
解决办法
4万
查看次数

如何在没有"朋友"的情况下访问课外的私人数据成员?

我有class A如下所述: -

class A{
     int iData;
};
Run Code Online (Sandbox Code Playgroud)

我既不想创建成员函数也不继承上面的内容,class A也不想更改说明符iData.

我的疑惑: -

  • 如何访问iData一个对象说obj1哪个是实例class A
  • 如何更改或操纵iData对象obj1

注意:请勿使用friend.

c++ encapsulation private class data-members

15
推荐指数
6
解决办法
9万
查看次数

为什么类大小仅依赖于数据成员而不依赖于成员函数?

我想知道关于班级大小的详细描述.我想知道是否只有数据成员和成员函数没有任何虚拟关键字,那么为什么类大小只依赖于数据成员.对于例如:

class A {
    int a;
public:
    int display() { 
    cout << "A=" << a << endl;
   }
};
Run Code Online (Sandbox Code Playgroud)

当我检查sizeof(A)我发现它是4字节.为什么会这样?为什么成员函数对A类的大小没有影响?

谢谢

c++ size class

15
推荐指数
1
解决办法
5286
查看次数

班上可以有两个公共部门吗?如果是,那为什么呢?在哪种情况下我们这样做?

关于课程,有些事情让我烦恼.例如

class A
{
public:
  A()
  {
  .....
  .....
  }

  void cleanup()
  {
  ....
  ....
  ....
  }

public:
  UINT a;
  ULONG b;
};
Run Code Online (Sandbox Code Playgroud)

在上面的例子中有两个公共部分.在第一部分中,我定义了一个构造函数和一个方法,在第二部分中,我将声明数据成员.上面的类是A正确的.我们可以这样做吗?如果是,那么为什么需要这样做以及在什么情况下我们应该使用它?既然我们可以在一个部分完成整个事情,那么为什么有两个部分呢?

c++ class public

13
推荐指数
4
解决办法
8664
查看次数

什么是c或c ++中的静态块?

我想通过一个例子知道c或c ++中的静态块是什么?我知道什么是静态但静态和静态块有什么区别?

c c++ static-block

10
推荐指数
3
解决办法
2万
查看次数

为什么需要在构造函数中初始化类的常量数据成员?

我想知道为什么类的常量数据成员需要在构造函数中初始化,为什么不在其他地方?这样做有什么影响而不是这样做?

我还看到,只有静态常量积分数据才能在类中初始化,而不能在类中初始化非数据成员.

例如: - 假设下面是我的班级声明

class A{
     int a; // This we can initialize at the constructor or we can set this member by calling "vSet" member function
     const int b;
     static const int c = 10; //This works fine
public:
     A();
     ~A();
     void vSet(int a);
     int iAdd();
     void vDisplay();    
};
Run Code Online (Sandbox Code Playgroud)

构造函数定义如下: -

编辑部分:由于之前的构造函数定义示例错误

 A::A():a(1),b(9){}
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我.提前致谢.

c++ constructor class-constants

7
推荐指数
3
解决办法
4万
查看次数

这是什么意思char(*(*a [4])())[5]?

嗨,我在"用c ++测试你的技能"中遇到了这个问题.

请让我知道一个例子意味着什么?

编辑部分:对于额外的括号,编辑和删除,对不起.

char (*(*a[4])())[5]
Run Code Online (Sandbox Code Playgroud)

c++

7
推荐指数
4
解决办法
551
查看次数

C++中的运算符重载

我怀疑我们是否可以做以下事情.

假设我已经创建类的两个实例A,即obj1obj2和类A有成员函数show().

我可以使用以下内容吗?

(obj1+obj2).show()
Run Code Online (Sandbox Code Playgroud)

如果有,怎么样?如果不是,为什么不可能呢?

c++ operator-overloading

4
推荐指数
1
解决办法
217
查看次数