问题列表 - 第22521页

模板化运算符[] ......可能吗?有用?

你能拥有:

template <class T>
const T &operator[] (unsigned int x)
Run Code Online (Sandbox Code Playgroud)

我的想法是,如果你有map<string,string>一个包装类可以让你做的很好:

obj["IntVal"]="12";
obj["StringVal"]="Test";

int i = obj["IntVal"];
Run Code Online (Sandbox Code Playgroud)

我们实际上可以用C++接近这个?值得痛苦吗?

c++ templates

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

什么是args参数的subprocess.Popen最大长度?

我正在使用子进程模块中的Popen函数来执行命令行工具:

subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
Run Code Online (Sandbox Code Playgroud)

我正在使用的工具会获取一个然后处理的文件列表.在某些情况下,此文件列表可能会很长.有没有办法找到args参数的最大长度?有大量文件传递给该工具,我收到以下错误:

Traceback (most recent call last):
  File "dump_output_sopuids.py", line 68, in <module>
    uid_map = create_sopuid_to_path_dict_dcmdump(dicom_files)
  File "dump_output_sopuids.py", line 41, in create_sopuid_to_path_dict_dcmdump
    dcmdump_output = subprocess.Popen(cmd,stdout=subprocess.PIPE).communicate(0)[0]
  File "c:\python26\lib\subprocess.py", line 621, in __init__
    errread, errwrite)
  File "c:\python26\lib\subprocess.py", line 830, in _execute_child
    startupinfo)
WindowsError: [Error 206] The filename or extension is too long
Run Code Online (Sandbox Code Playgroud)

有没有找到这个最大长度的一般方法?我在msdn上发现了以下文章:命令提示符(Cmd.exe)命令行字符串限制但我不想在值中硬编码.我宁愿在运行时获取值以将命令分解为多个调用.

我在Windows XP 64上使用Python 2.6.

编辑:添加代码示例

paths = ['file1.dat','file2.dat',...,'fileX.dat']
cmd = ['process_file.exe','+p'] …
Run Code Online (Sandbox Code Playgroud)

python shell subprocess popen

14
推荐指数
2
解决办法
9890
查看次数

C#最快的移位阵列方式

如何快速将数组中的所有项目向左移动,用null填充结尾?

例如,[0,1,2,3,4,5,6]将成为[1,2,3,4,5,6,null]

编辑:我很快说,但我想我的意思是有效率.我需要在不创建List或其他数据结构的情况下执行此操作.这是我需要在尽可能短的时间内做几十万次的事情.

c# arrays performance

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

关键字"new"在JavaScript中有什么副作用?

我正在研究jQuery的插件,我收到了这个JSLint错误:

Problem at line 80 character 45: Do not use 'new' for side effects.

(new jQuery.fasterTrim(this, options));
Run Code Online (Sandbox Code Playgroud)

我没有太多运气找到有关此JSLint错误或new可能有任何副作用的信息.

我试过谷歌搜索 "不要使用'新'副作用." 得到0结果.Binging给了我2个结果,但他们都只引用了JSLint源代码.希望这个问题会改变这一点.:-)

更新#1: 以下是上下文的更多来源:

  jQuery.fn.fasterTrim = function(options) {
    return this.each(function() {
      (new jQuery.fasterTrim(this, options));
    });
  };
Run Code Online (Sandbox Code Playgroud)

更新#2: 我使用Starter jQuery插件生成器作为我的插件的模板,其中包含该代码.

javascript jquery jslint jquery-plugins new-operator

20
推荐指数
4
解决办法
5403
查看次数

使用JFileChooser保存文件保存对话框

我有一个用这个部分打开文件的类:

JFileChooser chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
int r = chooser.showOpenDialog(ChatFrame.this);
if (r != JFileChooser.APPROVE_OPTION) return;
try {
    Login.is.sendFile(chooser.getSelectedFile(), Login.username,label_1.getText());
} catch (RemoteException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

然后我想将此文件保存在另一个文件中:

JFileChooser jfc = new JFileChooser();
int result = jfc.showSaveDialog(this);
if (result == JFileChooser.CANCEL_OPTION)
    return;
File file = jfc.getSelectedFile();
InputStream in;
try {
    in = new FileInputStream(f);

    OutputStream st=new FileOutputStream(jfc.getSelectedFile());
    st.write(in.read());
    st.close();
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // …
Run Code Online (Sandbox Code Playgroud)

java swing

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

如何使用DSSS和GDC运行单元测试?

我是D的新手,仍然在努力配置我的工具链.

我正在运行Ubuntu Karmic,并希望将DSSS与GDC和Tango或TangoBos一起使用.

直到现在,我从这些存储库安装了Ubuntu存储库,DSSS,Tango和TangoBos中的GDC ,我可以使用dsss + gdc + tangobos进行编译.

根据DSSS文档,应该可以使用运行单元测试

$ dsss build --test
Run Code Online (Sandbox Code Playgroud)

但在我的系统上,--test参数被忽略.我有dsss的最新版本(0.78),它的内联帮助不包含任何有关单元测试的内容.

运行ldc --unittest工作正常(虽然我不知道究竟是哪个libray).

有没有办法使用相同的编译器和库来运行我的单元测试而不是编译?

如果是这样,有没有办法自动化测试,还是我必须为每个模块运行模块?

d tango dsss

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

"{{}} while(0)"在内核代码中的作用是什么?

可能的重复:
当我们定义一个宏时,do(0)有什么用?
为什么在C/C++宏中有时会出现无意义的do/while和if/else语句?
C多行宏:do/while(0)vs scope block

我已经看到了很多这样的用法,以前我是程序员想要轻松打破一段代码.为什么我们需要在这里执行while {...} while(0)循环?我们试图告诉编译器一些东西吗?

例如,在Linux内核2.6.25中,包含/ asm-ia64/system.h

/*
 * - clearing psr.i is implicitly serialized (visible by next insn)
 * - setting psr.i requires data serialization
 * - we need a stop-bit before reading PSR because we sometimes
 *   write a floating-point register right before reading the PSR
 *   and that writes to PSR.mfl
 */
#define __local_irq_save(x)         \
do {                    \
    ia64_stop();                \
    (x) = ia64_getreg(_IA64_REG_PSR);   \
    ia64_stop();                \
    ia64_rsm(IA64_PSR_I);           \
} while (0)
Run Code Online (Sandbox Code Playgroud)

c kernel linux-kernel

20
推荐指数
4
解决办法
6026
查看次数

Google网站搜索中的元标记

我正计划实施谷歌网站搜索(并支付它,以便我可以访问XML).我想知道的一件事是可以在其中使用自定义元标记.

我从同事那里听到了,但没有证实.寻找答案没有给出任何答案(也许是因为你不能?)

有人知道吗?

编辑:我希望能够从搜索结果中检索这些元标记,以便能够为不同类型的页面提供不同的样式.

google-search meta-tags

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

为什么我不能将 varchar 的长度设置为 1000

如果这很重要,我也将其设置为唯一

我设法为 varchar 设置的最大值是745(它也设置为唯一的)。

mysql

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

java InetAddress.getLocalHost(); 返回127.0.0.1 ...如何获得REAL IP?

我正在写一个简单的网络应用程序......我需要知道我的机器在网络上的真实IP,如192.168.1.3.getLocalHost返回127.0.0.1(在Linux上,dunno,如果它在Windows上是相同的)怎么做?

java networking

52
推荐指数
6
解决办法
8万
查看次数