问题列表 - 第23656页

为什么C++不允许这个默认值?

为什么GCC不允许这里使用默认参数?

 template<class edgeDecor, class vertexDecor, bool dir>
 Graph<edgeDecor,int,dir> Graph<edgeDecor,vertexDecor,dir>::Dijkstra(vertex s, bool print = false) const
 {
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

graph.h:82: error: default argument given for parameter 2 of ‘Graph<edgeDecor, int, dir> Graph<edgeDecor, vertexDecor, dir>::Dijkstra(Vertex<edgeDecor, vertexDecor, dir>, bool)’
graph.h:36: error: after previous specification in ‘Graph<edgeDecor, int, dir> Graph<edgeDecor, vertexDecor, dir>::Dijkstra(Vertex<edgeDecor, vertexDecor, dir>, bool)’
Run Code Online (Sandbox Code Playgroud)

谁能明白我为什么会这样?

c++ gcc templates

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

WPF DataGrid程序化多行选择

有什么比下面的样本更简单吗?我确实有与DataGrid lstLinks绑定的observable集合(代码中的"list")

for (int i = 0; i < list.Count ; i++)
{
    object rowItem = lstLinks.Items[i] ; 
    DataGridRow visualItem =  (DataGridRow)lstLinks.ItemContainerGenerator.ContainerFromItem(rowItem);
    if ( visualItem == null ) break;  
    if (list[i].Changed)
        visualItem.IsSelected = false;
    else
         visualItem.IsSelected = false; 

}
Run Code Online (Sandbox Code Playgroud)

wpf select datagrid wpfdatagrid

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

何时性能增益足以实现优化?

在课本之后,每当我尝试优化代码时,我都会测量性能.然而,有时候,性能提升相当小,我无法决定性地决定是否应该实现优化.

例如,如果修复在某些条件下缩短了100ms到90ms的平均响应时间,那么我应该实现该修复吗?如果缩短200ms到190ms怎么办?在得出总体上有益的结论之前,我应该尝试多少条件?

我想这是不可能给出一个直截了当的答案,因为它取决于太多的东西,但是我应该遵循一个好的经验法则吗?有没有指南/最佳做法?

编辑:谢谢你的答案!我想这个故事的寓意是,没有简单的方法来判断你是否应该,但是有一些指导方针可以帮助这个过程.你应该考虑的事情,你不应该做的事情等等.这个特定的时间我最终实现修复,即使它在20-30行代码中生成了几行代码.因为我们的应用.在性能上非常关键,在各种现实案例中,它的增益始终为10%.

language-agnostic optimization performance

8
推荐指数
3
解决办法
337
查看次数

Python中的异步后台进程?

我一直在使用它作为参考,但无法完全满足我的需求:在Python中调用外部命令

我也在读这篇文章:http://www.python.org/dev/peps/pep-3145/

对于我们的项目,在部署应用程序之前,我们需要更新5个svn签出.在我的开发环境中,快速部署对于生产力而言比生产部署更重要,我一直在努力加快这一过程.

我有一个bash脚本,一直运作得体,但有一些限制.我使用以下bash命令启动多个'svn updates':

(svn update /repo1) & (svn update /repo2) & (svn update /repo3) &
Run Code Online (Sandbox Code Playgroud)

这些都是并行运行的,效果很好.我还在构建脚本的其余部分中使用此模式来触发每个ant构建,然后将战争移动到Tomcat.

但是,如果其中一个更新或构建失败,我无法控制停止部署.

我正在用Python重写我的bash脚本,所以我可以更好地控制分支和部署过程.

我正在使用subprocess.call()来触发'svn update/repo'命令,但每个命令都按顺序执行.我尝试'(svn update/repo)&'然后全部触发,但结果代码立即返回.因此,在异步模式下,我无法确定特定命令是否失败.

import subprocess

subprocess.call( 'svn update /repo1', shell=True )
subprocess.call( 'svn update /repo2', shell=True )
subprocess.call( 'svn update /repo3', shell=True )
Run Code Online (Sandbox Code Playgroud)

我很想找到一种方法让Python启动每个Unix命令,并且如果任何调用在任何时候整个脚本停止都失败了.

python asynchronous background-process

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

"rails generate"创建了新的"生成"项目?

运行该命令会生成新的rails项目:

$ rails generate controller home index 
Run Code Online (Sandbox Code Playgroud)

以上将创建四个新的rails项目:generate,controller,homeindex \

为什么会这样?

我正在使用rails(2.3.5)

ruby-on-rails

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

c ++和c#速度比较

当你处理繁重的计算时,当你需要使用原始CPU功率时,我担心C#的速度.

在计算方面,我一直认为C++比C#快得多.所以我做了一些快速测试.第一个测试计算素数<整数n,第二个测试计算一些pandigital数字.第二次测试的想法来自于:Pandigital Numbers

C#素数计算:

using System;
using System.Diagnostics;

class Program
{

    static int primes(int n)
    {

        uint i, j;
        int countprimes = 0;

        for (i = 1; i <= n; i++)
        {
            bool isprime = true;

            for (j = 2; j <= Math.Sqrt(i); j++)

                if ((i % j) == 0)
                {
                    isprime = false;
                    break;
                }

            if (isprime) countprimes++;
        }

        return countprimes;
    }



    static void Main(string[] args)
    {
        int n = int.Parse(Console.ReadLine());
        Stopwatch sw = new Stopwatch();

        sw.Start();
        int …
Run Code Online (Sandbox Code Playgroud)

c# c++ benchmarking

6
推荐指数
4
解决办法
6083
查看次数

禁用在WPF DataGrid中的选择

如何在WPFTooklit中禁用选择DataGrid?我尝试修改适用的解决方案ListView(从WPF ListView关闭选择),但这不起作用:

<tk:DataGrid>
    <tk:DataGrid.ItemContainerStyle>
        <Style TargetType="{x:Type tk:DataGridRow}">
            <Setter Property="Focusable" Value="false"/>
        </Style>
    </tk:DataGrid.ItemContainerStyle>
    <tk:DataGrid.CellStyle>
        <Style TargetType="{x:Type tk:DataGridCell}">
            <Setter Property="Focusable" Value="false"/>
        </Style>
    </tk:DataGrid.CellStyle>
</tk:DataGrid>
Run Code Online (Sandbox Code Playgroud)

c# wpf datagrid focus selection

49
推荐指数
7
解决办法
8万
查看次数

按字母顺序排序ArrayList

我试图找到字符串的所有排列并按字母顺序排序.

这是我到目前为止:

public class permutations {

        public static void main(String args[]) {
            Scanner s = new Scanner(System.in);
            System.out.print("Enter String: ");
            String chars = s.next();
            findPerms("", chars);
        }

        public static void findPerms(String mystr, String chars) {

            List<String> permsList = new ArrayList<String>();

                if (chars.length() <= 1)
                        permsList.add(mystr + chars);
                        //System.out.print(mystr + chars + " ");

                else
                        for (int i = 0; i < chars.length(); i++) {
                            String newString = chars.substring(0, i) + chars.substring(i + 1);
                            findPerms(mystr + chars.charAt(i), newString);
                        }

               Collections.sort(permsList);

               for(int …
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist

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

Webclient downloadfileasync无法正常工作

我有一个WPF应用程序,我想下载一个文件.

我正在使用System.Net; 我有以下代码:

WebClient ww = new WebClient();
ww.DownloadFileAsync(
    new Uri("http://www.sinvise.net/tester/1.jpg"), 
    AppDomain.CurrentDomain.BaseDirectory + "\\1.jpg");
Run Code Online (Sandbox Code Playgroud)

问题是,它是不下载文件,它只是显示为0kb文件而不是下载,我不知道是什么问题,任何人都可以帮忙吗?

c# webclient downloadfileasync

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

C中的函数是否与Python中的raw_input相同?

是否有一个与raw_inputPython 相同的C函数?

#in Python::
x = raw_input("Message Here:")
Run Code Online (Sandbox Code Playgroud)

我怎么能在C中写出类似的东西?

更新::

我做了这个,但我得到一个错误::

#include<stdio.h>
#include<string.h>
#include "stdlib.h"

typedef char * string;

int raw_input(string msg);
string s;
string *d;

main(){
raw_input("Hello, Enter Your Name: ");
d = &s;
printf("Your Name Is: %s", s);

}

int raw_input(string msg){
string name;
printf("%s", msg);
scanf("%s", &name);
*d = name;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

并且错误是程序运行并打印msg,并通过scanf获取用户类型,但然后它挂起并退出.. ??

c python raw-input

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