我需要将我的作业上传到在线编译器,有人告诉我这是 GCC,但我在在线编译器上遇到了段错误,但在使用 VS 或 Linux 的 GCC 上编译时却没有。
有没有办法让编译器打印它是什么编译器及其版本?
使用正则表达式进行bash搜索吗?
例如,如果我想执行一个for循环,它遍历以字母开头的当前目录的所有文件a,那么下面的工作会是什么?
for x in a.*
do
Run Code Online (Sandbox Code Playgroud) 这是一个关于c ++语法的简短问题:
class arrayInit {
public:
bool vars[2];
arrayInit() : vars() {} //1
};
class array {
public:
bool vars[2];
array() {} //2
};
Run Code Online (Sandbox Code Playgroud)
1和2做什么?
为什么他们不像这样零初始化:bool vars[2]={};?
是什么目的arrayInit() :和array()?什么叫它所以我可以搜索它?
它来自:https://msujaws.wordpress.com/2010/06/16/initializing-an-array-in-c/
为什么必须在构造函数中初始化对象数据成员,并且不能像使用基本类型一样默认初始化它们?是否可以像原始类型一样初始化它们?
这是一个例子:
class foo {
int a;
public:
foo(int _a) :a(_a) {};
};
class bar {
string a = "asdf";//no error
int num = 1;//no error
foo x(1); //error, why?
foo z;
public:
bar(): z(1){}//no error
};
Run Code Online (Sandbox Code Playgroud) 有没有办法"标记"对象的属性,以便它们在反射中"脱颖而出"?
例如:
class A
{
int aa, b;
string s1, s2;
public int AA
{
get { return aa; }
set { aa = value; }
}
public string S1
{
get { return s1; }
set { s1 = value; }
}
public string S2
{
get { return s2; }
set { s2 = value; }
}
}
class B : A
{
double cc, d;
C someOtherDataMember;
public C SomeOtherDataMember
{
get { return someOtherDataMember; }
} …Run Code Online (Sandbox Code Playgroud) 应该如何公开财产?
例如:
class A{
private ObjectProperty<X> objx;
}
class B{
private ObjectProperty<X> objy;
}
Run Code Online (Sandbox Code Playgroud)
我们希望绑定objy到objx或添加一个侦听objx从B。仅仅做个吸气剂就可以了objx吗?还是有一种方法可以使包装函数绑定并公开此函数?
假设我有一个Collection<string>并且我正在使用GetEnumerator()该返回IEnumerator<string>,我在哪里可以找到IEnumerator此集合的实现?
在MS 网站上,他们只是说:
返回循环访问Collection的枚举器.
但实现的类在哪里IEnumerator?
我在我的tomcat服务器应用程序中有一些JavaFX包含,比如javafx对和一些属性,但似乎它们在heroku上导致错误:
java.lang.NoClassDefFoundError:javafx/util/Pair
我看到它在部署战争时会安装openJDK 1.8,那怎么会找不到JavaFX呢?
我正在尝试获取朋友的功能class1并ships访问两者的私有成员,但它表示这些成员无法访问.
代码如下,问题在于ships.cpp.我试图在一个文件中以更简单的方式重现这个问题,但它没有发生在那里,所以我不知道这里有什么问题.也许这是一个循环声明问题?
ships.h
#ifndef _SHIPS_H_
#define _SHIPS_H_
#include "point.h"
class class1;
class Ships{
public:
friend char* checkpoints();
private:
Point ship[6];
};
#endif // ! _SHIPS_H_
Run Code Online (Sandbox Code Playgroud)
ships.cpp
#include "ships.h"
#include "class1.h"
char* checkpoints(Ships ship, class1 game) {
ship.ship[0];//cannot access private member declared in class 'Ships'
game.smallship;//cannot access private member declared in class 'class1'
return nullptr;
}
Run Code Online (Sandbox Code Playgroud)
class1.h
#ifndef _CLASS1_H_
#define _CLASS1_H_
#include "ships.h"
class class1 {
public:
friend char* checkpoints();
private:
static const int LIVES …Run Code Online (Sandbox Code Playgroud) 假设我们有以下代码:
void foo()
{
Point newpoint(...);
dq.push_back(newpoint);
...
return dq;
}
Run Code Online (Sandbox Code Playgroud)
假设dq是deque,Point是一些类.
in C,当foo()结束时,然后newpoint就消失了,如果它被传递给一个数组,例如,它会变成垃圾,但我看到它c++,dq实际上当它超出foo()范围时保留它,它实际上是否调用了一个复制构造函数在newpoint?真的发生了newpoint什么?这是STL容器或C++构造函数的特征吗?