class A { public: void eat(){ cout<<"A";} };
class B: virtual public A { public: void eat(){ cout<<"B";} };
class C: virtual public A { public: void eat(){ cout<<"C";} };
class D: public B,C { public: void eat(){ cout<<"D";} };
int main(){
A *a = new D();
a->eat();
}
Run Code Online (Sandbox Code Playgroud)
我理解钻石问题,上面的代码没有那个问题.
虚拟继承究竟是如何解决问题的?
我的理解:
当我说A *a = new D();,编译器想要知道类型的对象是否D可以分配给类型的指针A,但它有两个可以遵循的路径,但不能自己决定.
那么,虚拟继承如何解决问题(帮助编译器做出决定)?
c++ inheritance multiple-inheritance virtual-inheritance diamond-problem
毕竟,这两个陈述都做同样的事情......
int a = 10;
int *b = &a;
printf("%p\n",b);
printf("%08X\n",b);
Run Code Online (Sandbox Code Playgroud)
例如(具有不同的地址):
0012FEE0
0012FEE0
Run Code Online (Sandbox Code Playgroud)
根据需要格式化指针是微不足道的%x,那么是否有一些很好的%p选择?
vector<int> l;
for(int i=1;i<=10;i++){
l.push_back(i);
}
Run Code Online (Sandbox Code Playgroud)
现在,例如,如何5th element将矢量更改为-1?
我试过l.assign(4, -1);
它的表现并不像预期的那样.其他矢量方法似乎都不合适.
我使用了矢量,因为我需要在我的代码中使用随机访问功能(使用l.at(i)).
#include<stdio.h>
void print(int *arr[], int s1, int s2) {
int i, j;
for(i = 0; i<s1; i++)
for(j = 0; j<s2; j++)
printf("%d, ", *((arr+i)+j));
}
int main() {
int a[4][4] = {{0}};
print(a,4,4);
}
Run Code Online (Sandbox Code Playgroud)
这适用于C,但不适用于C++.
错误:
cannot convert `int (*)[4]' to `int**' for argument `1' to
`void print(int**, int, int)'
Run Code Online (Sandbox Code Playgroud)
为什么它在C++中不起作用?需要做出哪些改变?
在Oracle中,有没有办法找出特定表的创建时间?
同样,有没有办法找出插入/最后更新特定行的时间?
维基百科给出了这个例子
Identifier Gender Bitmaps
F M
1 Female 1 0
2 Male 0 1
3 Male 0 1
4 Unspecified 0 0
5 Female 1 0
Run Code Online (Sandbox Code Playgroud)
但我不明白这一点.
Gender这里使用B树索引,我们将获得大量结果,例如,我们寻找Gender = Male,需要进一步过滤(因此不是很有用).Bitmap如何改善这种情况?我想要做的是生成一些随机数(不一定是单个数字)
29106
7438
5646
4487
9374
28671
92
13941
25226
10076
Run Code Online (Sandbox Code Playgroud)
然后计算我得到的位数:
count[0] = 3 Percentage = 6.82
count[1] = 5 Percentage = 11.36
count[2] = 6 Percentage = 13.64
count[3] = 3 Percentage = 6.82
count[4] = 6 Percentage = 13.64
count[5] = 2 Percentage = 4.55
count[6] = 7 Percentage = 15.91
count[7] = 5 Percentage = 11.36
count[8] = 3 Percentage = 6.82
count[9] = 4 Percentage = 9.09
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int …Run Code Online (Sandbox Code Playgroud) 我听说C++和Python是两种最常用的语言.
我应该选择哪一个?
在Python中 - 版本2或3?
我正在研究基本的游戏开发(例如赛车游戏)和非Flash/iphone /浏览器游戏.
我也不想跳到C#.
C++ vs python是我正在考虑的......
另外,如果您能让我知道一些在线资源,那将会很有帮助.
我从#猜测它只是一个编译时实用工具.如何在C/C++程序中使用它?
在互联网上找不到太多.任何链接都会有所帮助.