小编rag*_*age的帖子

什么是在visual studio 2012中的新c ++项目中自动创建的stdafx.cpp文件

据我所知,stdafx.h是一个预编译的头文件,用于在visual studio中加快编译时间.当我在visual studio 2012中创建一个c ++项目时,还有一个stdafx.cpp.有人可以解释stdafx.h和stdafx.cpp之间的关系吗?

c++ visual-studio

17
推荐指数
1
解决办法
9738
查看次数

我以为内部类可以访问外部类变量/方法?

我确实阅读了许多讨论内部类的主题,我的印象是内部类可以访问封闭类的变量和方法.在下面我有一个外部类和一​​个内部类,在测试类中我创建了一个外部类的实例,然后从中创建了一个内部类的实例.但是我无法通过内部类引用访问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)

java

15
推荐指数
2
解决办法
4万
查看次数

命名空间std在哪里定义?

我想看一下命名空间std,但是,我无法在我的计算机上找到定义它的文件.我试着谷歌搜索,但我没有太多运气.

c++ std

7
推荐指数
1
解决办法
3641
查看次数

扭曲tic tac toe

我正在写一个tictactoe程序,但它不是你传统的tictactoe

首先,棋盘是4x4,获胜的方法是在连续,列或对角线上获得3个对手和1个对手.所以以下将通过第一列赢得"O":

O|_|X|_
O|X|_|_
O| |_|_
X|_|_|_
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现一个minimax算法,以便为程序提供一个无法打败的"硬"模式.

我的问题是我不能希望创建一个具有所有可能的游戏状态的树,因此我必须提出某种功能来评估我可以生成的游戏状态.

我想我的问题是,我怎么能想出这样的功能呢?

algorithm tic-tac-toe minimax

6
推荐指数
1
解决办法
1200
查看次数

如何在Linux中的多个目录中创建文件?

我只是在Linux中练习这个,但我想知道如何使用它touch来创建一个空文件并让它存在于多个目录中.

例如,我有一个像followng一样的目录布局:

~/main
~/main/submain1
~/main/submain2
.
.
.
~/main/submainN
Run Code Online (Sandbox Code Playgroud)

我怎样才能将所创建的文件touch存在于所有submain目录中?我的第一个想法是使用一个循环来访问每个目录cdtouch在每次迭代时调用该命令.我想知道是否有更优雅的解决方案?

linux bash

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

OnPaint()内部的Graphics.Clear()偶尔会导致泛型GDI +错误

我正在开发一个应用程序,客户端每隔几个月就会遇到一个问题(他们可以通过重新启动应用程序来解决问题).堆栈跟踪始终指向要调用的重写(类继承自Control)OnPaint()方法的第一行e.Graphics.Clear().

我已阅读微软文档:

Clear方法清除图形对象的状态,并且在无法更新图形对象时不应调用.例如,如果在终端服务器会话中的安全桌面上调用Clear方法,则可能发生ExternalException,使Graphics对象处于不一致状态.

我已经验证应用程序的用户没有从远程计算机运行该应用程序.我也读过:

在派生类中重写OnPaint时,请务必调用基类的OnPaint方法,以便已注册的委托接收事件.

可能是应用程序当前没有调用基类' OnPaint()导致"GDI +"ExternalException错误消息中出现"泛型错误" 的事实?

不幸的是,我在这个问题上陷入困境,因为我无法重现它,而且在生产场景中很少发生.有人能提供一些见解吗?

.net vb.net

6
推荐指数
1
解决办法
516
查看次数

如果我想在同一工作区中复制我的C#项目,该怎么办?

换句话说,我已经使用Visual Studio完成了一个项目。现在,我想制作一个与已经完成的项目相同的单独项目(除了一些将来的更改)。

我如何做到这一点,同时又将新项目与原始项目保留在相同的工作空间中而没有:

  • 创建一个新项目并复制粘贴代码
  • 复制粘贴包含项目的文件夹并更改文件夹名称

我问,是因为必须有比上述两个选项更好的方法。

projects-and-solutions visual-studio-2010 visual-studio

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

Java正则表达式匹配美元金额

这就是我一直在使用的

\$?[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}会做的)

java regex

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

sub _init在Perl解释中

我想知道这个子程序在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()子程序的变量.

我的具体问题是:

  1. $ self实际上是指调用子例程的变量_init()吗?
  2. 什么是@$写作时的语法意思@$self{keys %extra} = values %extra;

perl

5
推荐指数
1
解决办法
639
查看次数

什么是-t用于此Perl代码

我在perldoc中读到-t文件操作符用于决定是否向tty打开文件句柄.然后我读了一个tty是什么,从我的理解,这是一个终端的旧术语?

然而,我的主要问题是此代码用于:

if(-t STDERR) {
    die "some warning/error message here"
}
Run Code Online (Sandbox Code Playgroud)

我想我真的不明白"将文件句打开到tty"意味着什么.这是否意味着该文件句柄的特定输出出现在tty - 或终端上?除了终端之外,还可以参考一些东西吗?

perl filehandle

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