问题列表 - 第37068页

运算符重载

iarray<T>& operator =    (iarray<T>& v)
Run Code Online (Sandbox Code Playgroud)

为什么返回类型iarray<T>& 不是iarray<T>

UPDATE

有人可以详细说明为什么iarray<T> const &v

c++ operator-overloading

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

在eclipse中使用googletest:怎么样?

我已下载谷歌测试,但现在我不知道如何将它链接到我在Eclipse中的项目.我应该将它添加为源文件夹吗?应该包含它作为g ++包含的库?那我该怎么办呢?

c++ eclipse googletest

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

在数组中搜索标量时,Perl的smartmatch运算符有多快?

我想重复搜索不会更改的数组中的值.

到目前为止,我一直在这样做:我把值放在一个哈希(所以我有一个数组和一个基本相同内容的哈希),然后我使用搜索哈希exists.

我不喜欢有两个不同的变量(数组和散列)都存储​​相同的东西; 但是,哈希搜索速度要快得多.

我发现~~Perl 5.10 中有一个(smartmatch)运算符.在数组中搜索标量时效率如何?

perl smartmatch

18
推荐指数
3
解决办法
4967
查看次数

将环境变量传递给Maven中的已执行进程

我一直在墙上撞了大约一个小时:我正试图将一个简单的属性(java.library.path)传递给exec-maven-plugin.目标是将其与Netbeans右键单击文件>运行文件过程集成.

所以我把我的POM设置成这样:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1.1</version>
            <configuration>
                <environmentVariables>
                    <java.library.path>native/win32-x86</java.library.path>
                </environmentVariables>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

(我使用旧版本,所以我可以看到执行参数,但它完全可以重现1.2)

然后我右键单击我的文件并单击"运行文件".Netbeans开始这个过程:

 W:\programming\apache-maven-2.2.1\bin\mvn.bat -Dexec.classpathScope=runtime -Dexec.args=-classpath %classpath org.quackedcube.camera.CameraDemo -Dexec.executable=C:\Program Files\Java\jdk1.6.0_21\bin\java.exe -Dnetbeans.execution=true -Dmaven.repo.local=W:\programming\maven-repo process-classes exec:exec
Run Code Online (Sandbox Code Playgroud)

(原始的完整类路径执行已更改为exec:exec希望我的配置已应用)

但我的环境变量显然被忽略了,因为生成的执行程序是:

 Result of cmd.exe /X /C ""C:\Program Files\Java\jdk1.6.0_21\bin\java.exe" -classpath *snip* org.quackedcube.camera.CameraDemo" execution is: '1'.
Run Code Online (Sandbox Code Playgroud)

我试过了

  • 在enviornmentVariable标记内使用单独的Key和Value标记
  • 直接在enviornmentVariables标记内使用键和值标记(值得一试)
  • 绑定到一个阶段
  • 传递为maven arg并使用exec:java代替
  • 在项目配置页面中将-Djava.library.path = native/win32-x86作为Run参数和VM选项传递

一切都失败了.我真的很茫然.

我想这是在maven中使用JNI的缺点:你必须作为参数传递给测试,运行时,模块运行POM和父POM.

所以我的问题是:如何将java.library.path属性传递给已执行的文件?如果它与Netbeans运行文件功能集成将是很好的(因此我不必更改POM中的类名,构建,然后运行)

java maven-2 netbeans exec-maven-plugin

4
推荐指数
1
解决办法
8805
查看次数

我的本地Rails环境有什么问题?

我在一年前开始使用Rails应用程序.这是一个Rails 2.3应用程序.

现在,其他人做了远程更改(它在Github上,对不起,但它是私有的).我做到了

sudo gem update
Run Code Online (Sandbox Code Playgroud)

也就是说,更新了我的所有宝石,包括Rails(至3).

意识到这一点,我已经做到了

rake:freeze:edge RELEASE=2.3.8
Run Code Online (Sandbox Code Playgroud)

或任何使这个版本使用该版本的rails,希望这是解决方案.

然而,到目前为止没有这样的运气.

尝试启动服务器时出错,并试图运行script/console(虽然它成功).

请注意,这个确切的应用程序在EngineYard上运行正常.

服务器:

 $ script/server
 => Booting Mongrel
 => Rails 2.3.8 application starting on http://0.0.0.0:3000
 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 45, col 3: `' (ArgumentError)
  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:902:in `database_configuration'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:437:in `initialize_database'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:141:in `process'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
  from /Users/ajh/Sites/PROJECT_NAME/config/environment.rb:11
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
  from …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

如何获得精确的ping测量

目前,windows ping命令返回一个整数的毫秒值.

我希望得到一个非常准确的测量结果,让我说4点后的数字.

有没有工具可以做到这一点?

windows networking

9
推荐指数
1
解决办法
2万
查看次数

方法/构造函数使用超级/子类型重载

关于在某些情况下调用哪个重载方法,我有一些问题.

情况1:

public void someMethod(Object obj){
    System.out.println("Object");
}
public void someMethod(InputStream is){
    System.out.println("InputStream");
}
public void someMethod(FilterInputStream fis){
    System.out.println("FilterInputStream");
}
Run Code Online (Sandbox Code Playgroud)

我知道,如果我通过它String,它将打印"对象".但是,如果我传递一个InputStream怎么办?如果我传递一些像BufferedInputStream这样的东西会让人感到困惑.这会调用Object one,InputStream one还是FilterInputStream?方法的顺序是否重要?

案例2:

这有点棘手,因为它利用了多个接口继承.BlockingQueue和Deque都不是彼此的子/超类型,但两者都是BlockingDeque的超类型.Sun通过接口添加了多重继承,因为它们不需要树结构.BlockingDeque的声明是
public interface BlockingDeque extends BlockingQueue, Deque {.

public void someMethod(BlockingQueue bq){
    System.out.println("BlockingQueue");
}
public void someMethod(Deque bq){
    System.out.println("Deque");
}
public void someCaller(){
     BlockingDeque bd = new LinkedBlockingDeque();
     someMethod(bd);
}
Run Code Online (Sandbox Code Playgroud)

这会调用someMethod(BlockingQueue)还是someMethod(Deque)?

案例3:

你可以把这两个结合起来:

public void someMethod(Queue q){
    //...
}
public void someMethod(Deque q){
    //...
}
public void someMethod(List p){
    //...
}
public void …
Run Code Online (Sandbox Code Playgroud)

java inheritance overloading

3
推荐指数
1
解决办法
1280
查看次数

Python - 如何通过名称动态调用对象上的函数?

在python中,假设我有一个字符串,其中包含我知道特定对象将具有的类函数的名称,如何调用它?

那是:

obj = MyClass() # this class has a method doStuff()
func = "doStuff"
# how to call obj.doStuff() using the func variable?
Run Code Online (Sandbox Code Playgroud)

python

45
推荐指数
1
解决办法
3万
查看次数

防止重复提交的最佳设计模式是什么?

我有一个设计模式,我一直在努力解决如何最好地防止重复发布数据。

以下是步骤:

  1. 客户端使用唯一的 guid 提交数据(客户端生成的 guid - 保证唯一)
  2. 服务器端软件确保数据库中尚不存在客户端 guid
  3. 开始交易
  4. 处理数据(可能需要 1-20 秒,具体取决于有效负载)
  5. 提交事务

以下是场景:Client提交guid为“1”的数据,然后在原始数据提交命中步骤(5)之前重新提交guid为“1”的数据,然后事务处理两次。

在不使用信号量或阻塞的情况下防止这种情况的最佳设计模式是什么?用户应该能够重新提交,以防第一次提交由于某种原因(服务器端的硬件问题等)失败。

谢谢!

database design-patterns transactions

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

OmniAuth&openid:从openid提供程序获取某些字段

我正在使用rails gem:OmniAuth登录用户.

当使用OpenId提供程序时,我想获得某些字段,如电子邮件和昵称,但我没有看到任何关于此的文档.

有任何想法吗?

谢谢

openid ruby-on-rails omniauth

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