小编huu*_*huu的帖子

C++中的Unsigned关键字

unsigned关键字是否默认为C++中的特定数据类型?我正在尝试为原型的类编写函数:

unsigned Rotate(unsigned object, int count)
Run Code Online (Sandbox Code Playgroud)

但我真的没有unsigned办法.不应该是unsigned int什么样的东西?

c++ unsigned

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

SpeechSynthesis API一次回调无法正常工作

我在Google Chrome v34.0.1847.131上使用语音合成API.从v33开始,该API在Chrome中实施.

除了分配回调时,文本到语音大部分都有效onend.例如,以下代码:

var message = window.SpeechSynthesisUtterance("Hello world!");
message.onend = function(event) {
    console.log('Finished in ' + event.elapsedTime + ' seconds.');
};
window.speechSynthesis.speak(message);
Run Code Online (Sandbox Code Playgroud)

有时会打电话onend,有时不打电话.时机似乎完全没有了.当它被调用时,打印elapsedTime总是像一些时代一样1399237888.

javascript google-chrome text-to-speech speech-synthesis google-text-to-speech

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

std :: async使用绑定到lambda的rvalue引用

我正在尝试将一个rvalue引用绑定到一个lambda使用std::bind,但是当我把它扔进一个std::async调用时我遇到了问题:( 来源)

auto lambda = [] (std::string&& message) {
    std::cout << message << std::endl;
};
auto bound = std::bind(lambda, std::string{"hello world"});
auto future = std::async(bound); // Compiler error here
future.get()
Run Code Online (Sandbox Code Playgroud)

这会发出编译器错误我不确定如何解释:

错误:'class std :: result_of(std :: basic_string)>&()>'中没有​​名为'type'的类型

这里发生了什么?有趣的是,稍微修改确实可以按预期编译和工作.如果我改为std::string{"hello world"}c字符串文字,一切正常:( 来源)

auto lambda = [] (std::string&& message) {
    std::cout << message << std::endl;
};
auto bound = std::bind(lambda, "hello world");
auto future = std::async(bound);
future.get(); // Prints "hello world" as expected
Run Code Online (Sandbox Code Playgroud)

为什么这有效但不是第一个例子?

c++ lambda stdbind c++11

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

包装rvalue引用lambda时std :: async和std :: bind之间的区别

受此评论的启发,关于将lambda与rvalue引用参数直接std::async绑定到,通过std::async编译将rvalue绑定到lambda 并按预期执行:( 实例)

auto lambda = [] (std::string&& message) {
    std::cout << message << std::endl;
};
auto future = std::async(lambda, std::string{"hello world"});
future.get();
Run Code Online (Sandbox Code Playgroud)

std::bind但是,使用会触发编译器错误:( 实例)

auto lambda = [] (std::string&& message) {
    std::cout << message << std::endl;
};
auto bound = std::bind(lambda, std::string{"hello world"}); // Compiler error
bound();
Run Code Online (Sandbox Code Playgroud)

这是因为std::bind保持message为左值,因此当它将它传递给lambda时,参数不再与参数匹配.

我已经阅读std::async内部使用的内容std::bind,那么当std::bind它没有时,如何使用rvalue引用参数?是否存在需要此行为的标准的特定部分,或者这取决于编译器?

c++ lambda rvalue-reference stdbind c++11

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

每个列的唯一值数

考虑以下数据帧:

      A      B  E
0   bar    one  1
1   bar  three  1
2  flux    six  1
3  flux  three  2
4   foo   five  2
5   foo    one  1
6   foo    two  1
7   foo    two  2
Run Code Online (Sandbox Code Playgroud)

我想为每个值找到A其他列中唯一值的数量.

  1. 我认为以下会这样做:

    df.groupby('A').apply(lambda x: x.nunique())
    
    Run Code Online (Sandbox Code Playgroud)

    但是我收到一个错误:

    AttributeError: 'DataFrame' object has no attribute 'nunique'
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我也尝试过:

    df.groupby('A').nunique()
    
    Run Code Online (Sandbox Code Playgroud)

    但我也得到了错误:

    AttributeError: 'DataFrameGroupBy' object has no attribute 'nunique'
    
    Run Code Online (Sandbox Code Playgroud)
  3. 最后我尝试了:

    df.groupby('A').apply(lambda x: x.apply(lambda y: y.nunique()))
    
    Run Code Online (Sandbox Code Playgroud)

    返回:

          A  B  E
    A            
    bar   1  2  1
    flux  1  2  2 …
    Run Code Online (Sandbox Code Playgroud)

python pandas

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