小编Dak*_*ksh的帖子

如何在Lambda本身中获取C ++ Lambda函数的地址?

我试图弄清楚如何在自身中获取lambda函数的地址。这是一个示例代码:

[]() {
    std::cout << "Address of this lambda function is => " << ????
}();
Run Code Online (Sandbox Code Playgroud)

我知道我可以在变量中捕获lambda并打印地址,但是我想在执行此匿名函数时就地执行此操作。

有没有更简单的方法?

c++ lambda c++11 c++14 c++17

52
推荐指数
3
解决办法
4314
查看次数

为什么 ReactJS ReactDom.render() 不渲染 HTML 标签?

为什么下面的代码不起作用?

ReactDOM.render( <h1>Hello</h1>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

但这段代码有效。

var elem = React.createElement('h1',{},"Hello");
ReactDOM.render( elem, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

很长时间后回来做出反应..试图查看网络..没有发现它已被弃用?那为什么它不工作?

更新:我的浏览器控制台在此处显示语法错误

 ReactDOM.render( <h1>Hello</h1>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

更新:感谢您通过添加以下行来帮助一切正常

<script type="text/babel">
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

enable_shared_from_this 与直接分配

我为什么要使用 enable_shared_from_this ,因为我也可以通过普通分配获得相同的效果。

struct A : std::enable_shared_from_this<A> {
std::shared_ptr<A> getptr() {
    return shared_from_this();
 } 
};


int main () {
// What is the differentce between this code
 std::shared_ptr<A> p1 = make_shared<A>();
 std::shared_ptr<A> p2 = p1->getptr();

// Vs this

 std::shared_ptr<A> p1 = make_shared<A>();
 std::shared_ptr<A> p2 = p1;
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

为什么以及如何使用C++允许使用动态值创建编译时数组

在编写一些代码时,我意识到我的一个代码工作,根据我的理解不应该工作.代码是

int main() {
    int val;
    cin>>val;
    int array[val];
}
Run Code Online (Sandbox Code Playgroud)

不仅如此,即使是下面的代码也能正常工作

 int main() {
        int valone = rand();
        int valtwo = rand();
        int array[valone][valtwo];
    }
Run Code Online (Sandbox Code Playgroud)

我总是理解静态数组需要常量值,或编译器在编译期间可以推导出的值.

最近的C++ 11/14规范是否有任何变化,或者从一开始就适用于C++.

注:Visual Studio的编译器提供了这种情况的一个错误,但g++clang成功编译上面的代码

c++ c++11 c++14

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

标签 统计

c++ ×3

c++11 ×3

c++14 ×2

c++17 ×1

javascript ×1

lambda ×1

reactjs ×1