小编Kar*_*ath的帖子

为什么允许这些默认参数?

我发现了这个问题,我完全感到困惑.

答案说b无效,"非静态成员不能用作默认参数." 这很有道理.

我不明白的是为什么其他两个都没问题.事实上,如果默认值不是常量表达式,我很难理解语义是什么......

这里发生了什么?在编译时清楚地评估默认参数.编译器只是选择当前值吗?

#include <iostream>

int g_x = 44; 

struct Foo 
{ 
  int m_x; 
  static int s_x; 

  Foo(int x) : m_x(x) {} 
  int a(int x = g_x) { return x + 1; } 
  int b(int x = m_x) { return x + 1; }
  int c(int x = s_x) { return x + 1; }
}; 

int Foo::s_x = 22; 

int main(int argc, char** argv) 
{ 
  Foo f(6); 

  std::cout << f.a() << std::endl; 
  std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ default-arguments

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

如何从H.264 .TS文件中提取视频信息?

有没有什么好的linux/unix工具来获取H264 .TS文件的属性?

我需要持续时间,视频分辨率和比特率,fps,音频分辨率和比特率.

我尝试过mplayer -vo null -ao null -frames 0 -identify _file_,但报告错误的视频宽度和高度,并报告文件长度(持续时间)为0.00.

video analyzer h.264

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

javascript for循环

我的一个同事在mongo mapreduce中创建了一个愚蠢的bug,他应该创建一个对象但实际上传递了字符串"{}".奇怪的是脚本没有崩溃,但实际上迭代了字符串,所以我做了一些调查,发现了以下内容:

该脚本x="bla"; for (i in x) { alert(i); };使用以下方式使用不同的浏览器:

  • IE(8): - (无警报)
  • Chrome:0 1 2
  • Firefox(较旧的):0 1 2 vBlength
  • Firefox 5:0 1 2
  • MongoDB:0 1 2 trim ltrim rtrim

我完全知道这不是一个有效的语法,只是纯粹的好奇心,是否有人知道为什么浏览器的行为方式如此?我对MongoDB的行为特别感兴趣.

javascript for-loop

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

在多个目录中创建文件

是否可以一次/在一个命令中创建多个directirories中的文件?我正在做这样的事情

Add 

    -add1
         - file 1
         - file 2
    -add2
         - file 1
         - file 2
Run Code Online (Sandbox Code Playgroud)

我正在创建目录

mkdir -p Add/add{1,2}
Run Code Online (Sandbox Code Playgroud)

但无法弄清楚如何在每个子目录中创建文件,而无需手动交换到目录并在那里创建文件.

unix bash

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

标签 统计

analyzer ×1

bash ×1

c++ ×1

default-arguments ×1

for-loop ×1

h.264 ×1

javascript ×1

unix ×1

video ×1