据我所知,stdafx.h是一个预编译的头文件,用于在visual studio中加快编译时间.当我在visual studio 2012中创建一个c ++项目时,还有一个stdafx.cpp.有人可以解释stdafx.h和stdafx.cpp之间的关系吗?
我确实阅读了许多讨论内部类的主题,我的印象是内部类可以访问封闭类的变量和方法.在下面我有一个外部类和一个内部类,在测试类中我创建了一个外部类的实例,然后从中创建了一个内部类的实例.但是我无法通过内部类引用访问String变量a.救命?
public class OuterClass {
String a = "A";
String b = "B";
String c = "C";
class InnerClass {
int x;
}
public static class StaticInnerClass {
int x;
}
public String stringConCat() {
return a + b + c;
}
}
public class TestStatic {
public static void main(String args[]) {
OuterClass.StaticInnerClass staticClass = new OuterClass.StaticInnerClass();
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
System.out.println(inner.a);// error here, why can't i access the string
// variable a …
Run Code Online (Sandbox Code Playgroud) 我正在写一个tictactoe程序,但它不是你传统的tictactoe
首先,棋盘是4x4,获胜的方法是在连续,列或对角线上获得3个对手和1个对手.所以以下将通过第一列赢得"O":
O|_|X|_
O|X|_|_
O| |_|_
X|_|_|_
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现一个minimax算法,以便为程序提供一个无法打败的"硬"模式.
我的问题是我不能希望创建一个具有所有可能的游戏状态的树,因此我必须提出某种功能来评估我可以生成的游戏状态.
我想我的问题是,我怎么能想出这样的功能呢?
我只是在Linux中练习这个,但我想知道如何使用它touch
来创建一个空文件并让它存在于多个目录中.
例如,我有一个像followng一样的目录布局:
~/main
~/main/submain1
~/main/submain2
.
.
.
~/main/submainN
Run Code Online (Sandbox Code Playgroud)
我怎样才能将所创建的文件touch
存在于所有submain
目录中?我的第一个想法是使用一个循环来访问每个目录cd
并touch
在每次迭代时调用该命令.我想知道是否有更优雅的解决方案?
我正在开发一个应用程序,客户端每隔几个月就会遇到一个问题(他们可以通过重新启动应用程序来解决问题).堆栈跟踪始终指向要调用的重写(类继承自Control
)OnPaint()
方法的第一行e.Graphics.Clear()
.
我已阅读微软文档:
Clear方法清除图形对象的状态,并且在无法更新图形对象时不应调用.例如,如果在终端服务器会话中的安全桌面上调用Clear方法,则可能发生ExternalException,使Graphics对象处于不一致状态.
我已经验证应用程序的用户没有从远程计算机运行该应用程序.我也读过:
在派生类中重写OnPaint时,请务必调用基类的OnPaint方法,以便已注册的委托接收事件.
可能是应用程序当前没有调用基类' OnPaint()
导致"GDI +"ExternalException错误消息中出现"泛型错误" 的事实?
不幸的是,我在这个问题上陷入困境,因为我无法重现它,而且在生产场景中很少发生.有人能提供一些见解吗?
换句话说,我已经使用Visual Studio完成了一个项目。现在,我想制作一个与已经完成的项目相同的单独项目(除了一些将来的更改)。
我如何做到这一点,同时又将新项目与原始项目保留在相同的工作空间中而没有:
我问,是因为必须有比上述两个选项更好的方法。
这就是我一直在使用的
\$?[0-9]+\.*[0-9]*
Run Code Online (Sandbox Code Playgroud)
但是当我做一些测试时,我发现了类似的东西
$$$34.00
Run Code Online (Sandbox Code Playgroud)
将作为匹配matcher.group()
返回(但)只返回匹配的子字符串.如果用户输入多个美元符号,我不希望它甚至传递正则表达式,所以我尝试了这个:
\${1}[0-9]+\.*[0-9]*
Run Code Online (Sandbox Code Playgroud)
但这似乎与我第一次输入的正则表达式相同.现在我正在java中测试它,但是,我打算使用Boost库在c ++中使用它.但请不要在这里给我解决方案,因为我试图在没有人给我答案的情况下学习.
但我确实需要帮助,所以用户只能输入一个美元符号(这是我认为\${1}
会做的)
我想知道这个子程序在Perl中做了什么.我相信我有一般的想法,但我想知道一些语法.
sub _init
{
my $self = shift;
if (@_) {
my %extra = @_;
@$self{keys %extra} = values %extra;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我认为它的作用:基本上将任何"额外"键值对添加到由变量$ self引用的无名哈希中.此外,我不是100%肯定这一点,但我认为my $self = shift
实际上是指$self
调用_init()
子程序的变量.
我的具体问题是:
_init()
吗?@$
写作时的语法意思@$self{keys %extra} = values %extra;
我在perldoc中读到-t文件操作符用于决定是否向tty打开文件句柄.然后我读了一个tty是什么,从我的理解,这是一个终端的旧术语?
然而,我的主要问题是此代码用于:
if(-t STDERR) {
die "some warning/error message here"
}
Run Code Online (Sandbox Code Playgroud)
我想我真的不明白"将文件句打开到tty"意味着什么.这是否意味着该文件句柄的特定输出出现在tty - 或终端上?除了终端之外,还可以参考一些东西吗?