上一个代码:
struct Inet_address{
char v4[4];
};
extern "C" Inet_address Inet_loopback =
{
{127,0,0,1}
};
Run Code Online (Sandbox Code Playgroud)
修改后:
我已经使Inet_address成为一个联合这里Inet地址是一个联合
union Inet_address{
char v4[4];
char v6[16];
};
Run Code Online (Sandbox Code Playgroud)
现在我想对extern"C"执行相同的操作Inet_address Inet_loopback Say,
extern "C" Inet_address Inet_loopback =
{
if(some condition)
{127,0,0,1} //It should be Inet_address.v4
else
{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } //This should be Inet_address.v6
};
Run Code Online (Sandbox Code Playgroud)
因为我在这里收到错误,请建议一个正确的方法来实现这一点.
可能重复:
访问NULL指针上的类成员
一个非常愚蠢的问题或者可能是我的概念疑问.
#include <iostream>
using namespace std;
class A
{
public:
void print()
{
cout<<"Printing\n";
}
};
int main()
{
A * a = NULL;
a->print();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:打印
如何为a指针(即NULL)能够访问A类的成员函数
请解释......可能只是一个愚蠢的问题,但我的印象是NULL指针不会访问类的成员函数.
#include <iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
class A {
public:
A () {cout<<" A\n";}
virtual ~A () {cout<<" ~A\n";}
};
class B : public A {
public:
B () :A() {cout<<" B\n";}
virtual ~B() {cout<<" ~B\n";}
};
int main (int, char *[]) {
A *ap = new B;
delete ap;
A b = *ap;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
A
B
~B
~A
Run Code Online (Sandbox Code Playgroud)
为什么A的最后一个析构函数被调用为A b =*ap为什么不在这里调用A的构造函数?
谢谢 !!!
有人可以告诉我是否可以在数据库中运行shell脚本.
场景:
使用数据库Informix.我在一个文件中有一个脚本,有多个插入语句.我正在打开数据库连接.创建一些临时表并执行一些连接.为了将数据加载到临时表中,我需要在"文件"中插入语句.
题:
有没有办法或解决方法,以便我可以在数据库控制台内的该文件中运行命令?当我创建几个临时表时,我无法关闭数据库连接.
我在 Redshift 中有一张桌子。
我想添加一个应该具有增量值的列。我不想删除该表并创建一个新表。
请建议在 redshift 表中添加具有自动增量值的列的命令。
谢谢 !!!
我有一个数组Array [(Int,String)],它由整个数据集的键值对组成,其中key是列号,value是列的值.
因此,我想使用reduceByKey来执行某些操作,如按键的最大值,最小值,平均值,中值,四分位数计算.
我如何使用reduceByKey实现这一点,因为groupByKey会将大量数据泄漏到磁盘上.如何在reduceByKey中传递自定义函数.
或者有更好的方法来做到这一点.
谢谢 !!