小编cpx*_*cpx的帖子

使用类类型作为映射key_value

变量Data可以用作地图键吗?

struct Data {
Data(int X, int Y) {x=X; y=Y;}
int x; int y;
}

int main()
{
   std::map<Data, int> map_;
   map_.insert(std::make_pair(Data(1,2), 0)); //error inserting
}
Run Code Online (Sandbox Code Playgroud)

c++ stl

3
推荐指数
1
解决办法
427
查看次数

复合表达与表达与子表达的比较

我觉得我在这里区分子表达式和表达式有点困惑.

Compound expression - 涉及多个运算符的表达式.

例如 1 + 1 * 1

Expression - 具有一个或多个操作数的运算符.

例如1 + 1+ 1

是否有一个低于表达式的级别,称为子表达式?

c++ expression

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

使用upcasting时的虚拟析构函数

每个人都说当至少有一个类方法是虚拟的时,析构函数应该是虚拟的.
我的问题是,在使用向上转换时说析构函数应该是虚拟的是不正确的?

class A {
public:

    ~A(){
        cout << "Destructor in A" << endl;
    }
};

class B: public A
{
public:

    ~B(){
        cout << "Destructor in B" << endl;
    }
};

int main()
{
    A* a = new B;
    cout << "Exiting main" << endl;
    delete a;
}
Run Code Online (Sandbox Code Playgroud)

我在这段代码中没有任何虚函数,但是如果我不使我的基础析构函数为虚拟,它就不会调用B析构函数.是的,我知道如果我没有虚函数,使用ucpasting是没有意义的.

谢谢.

c++ inheritance virtual-destructor

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

功能指针(C++)

我正在学习C++教程.我无法理解关于函数指针的这个例子.这里是:-

// pointer to functions
#include <iostream>
using namespace std;

int addition (int a, int b)
{ return (a+b); }

int subtraction (int a, int b)
{ return (a-b); }

int operation (int x, int y, int (*functocall)(int,int))
{
  int g;
  g = (*functocall)(x,y);
  return (g);
}

int main ()
{
  int m,n;
  int (*minus)(int,int) = subtraction;

  m = operation (7, 5, addition);
  n = operation (20, m, minus);
  cout <<n;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

行" m = operation (7, 5, …

c++

3
推荐指数
1
解决办法
467
查看次数

如何下载Android应用程序的sqlite数据库?

我在我的Android应用程序中使用sqlite数据库.我想将数据库下载到pc.任何人都可以告诉我该怎么做?

sqlite android

3
推荐指数
1
解决办法
3334
查看次数

const资格转换

从(4.4/1)开始

如果"cv2 T"比"cv1 T"更符合cv,则可以将类型"指向cv1 T的指针"的rvalue转换为"指向cv2 T的指针"的rvalue.

我不知道标准定义'更多cv-qualifield'类型的位置,但据我所知,const的声明符比非const更符合cv.

对于以下转换,标准的引用如何适用或如何知道哪一个更少或更多cv-qualifed?

int *const c1 = 0;
int const* c2 = 0;
const int *const c3 = 0;

c1 = c2; // allowed
c1 = c3; // allowed
Run Code Online (Sandbox Code Playgroud)

更新:

c2 = c1;
c2 = c3;
Run Code Online (Sandbox Code Playgroud)

c++ const qualifiers implicit-conversion

3
推荐指数
1
解决办法
221
查看次数

myPid和myTid以及myUid之间的区别

::之间的区别

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
             //And 
int pid = android.os.Process.myTid();
android.os.Process.killProcess(pid);
             //And  
int pid = android.os.Process.myUid();
android.os.Process.killProcess(pid);
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
3631
查看次数

生成std :: string的唯一ID

我想在32位应用程序中生成任何有限的std :: string size唯一id(即大小为6).什么是最好和最快的方法呢?

c++

2
推荐指数
1
解决办法
4404
查看次数

序列化包含char*的结构

我在序列化一个char*字符串时遇到错误error C2228: left of '.serialize' must have class/struct/union我可以使用std :: string然后从中获取一个const char*.但我需要char*字符串.

c++ serialization boost

2
推荐指数
1
解决办法
3152
查看次数

在不同的类中使用Singleton

如何创建可以在其他类中使用的单例实例?

例如:

//Singleton_Class.h

#ifndef Singleton_Class
#define Singleton_Class

class Singleton
{
private: 
  static Singleton _instance;

  Singleton() {}
  ~Singleton() {} 
  Singleton(const Singleton &);
  Singleton & operator=(const Singleton &);

public:
 static Singleton &getInstance(){return _instance;}
};

Singleton Singleton::_instance;

#endif


//Main.cpp

#include "Singleton_Class.h"

int main()
{
    Singleton &s = Singleton::getInstance();  //Use the instance
}

//ClassA.cpp

#include "Singleton_Class.h"

class A
{
public:
 A(){};
};
Run Code Online (Sandbox Code Playgroud)

尝试包含A类(LNK2005)的单个类头时出现链接错误:在Singleton Class.obj中已经定义的"private:static class Singleton Singleton :: _ instance"(?_ instance @ Singleton @@ 0V1 @ A)

c++ singleton

2
推荐指数
2
解决办法
4034
查看次数