小编Tin*_*ggo的帖子

为什么我们需要添加<div id ="fb-root"> </ div>

为什么我们需要在我们的Facebook应用程序中添加这些标签.这对标签的用途是什么.我创建了一个使用apprequest的应用程序,即使我没有在我的脚本前面添加这些标签,它也能正常工作.所以我真的很想知道为什么我们需要添加它们.谢谢.

javascript sdk facebook

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

为什么 std::pair 需要两个pair( const T1&amp; x, const T2&amp; y ); 和对( U1&amp;&amp; x, U2&amp;&amp; y );

std::pair有两个构造函数:

  1. pair( const T1& x, const T2& y );
    
    Run Code Online (Sandbox Code Playgroud)
  2. template< class U1, class U2 >
    pair( U1&& x, U2&& y );
    
    Run Code Online (Sandbox Code Playgroud)

我从《Effective Modern C++》中学到了通用参考,并且知道为什么需要 #2 以及它是如何工作的。但我不明白为什么仍然需要 #1 并认为 #2 可以 100% 取代 #1。我相信我一定错过了一些关键的知识。

c++

7
推荐指数
0
解决办法
66
查看次数

当字符串保存在集合中时,c_str() 仍然有效吗

我有一个旧项目需要维护,它使用了 const char * 。由于某种原因,我想保留大量运行时生成的字符串。所以我创建一个全局变量 std::set 来保存这些字符串。当生成一个新字符串时,除了添加到集合中之外,我还会返回并发送 newString.c_str() ,该字符串将保存在其他地方。例如。

std::set<std::string> g_stringDB;
void ArchieveString( AStruct *container, const char *temporaryString )
{
    auto it = g_stringDB.emplace( temporaryString );
    container->validString = it->first->c_str();
}
Run Code Online (Sandbox Code Playgroud)

我想知道容器何时被外部使用(我的意思是此功能之外的任何地方)。如果指针:validString仍然安全。由于集合内发生的复制、构造,指针是否有可能已经指向其他内容?如果不是,实现这一要求的理想方法是什么?

c++

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

无法通过左值来构造右值

有没有人可以帮助解释为什么UseString在我的以下示例中不能接受左值作为参数?我知道String在我的情况下创建了一个临时文件,但我无法解释为什么它必须在这里接受一个右值。

#include <utility>

using namespace std;

struct String
{
    String(const char* cstr)
    {
    }
};

struct UseString
{
    UseString(const String& str)
    {
    }
};

int main()
{
    const char* cstr = "abc";
    UseString(std::move(cstr)); //Correct
    UseString("abc"); // Correct
    UseString(cstr); // Error but why UseString cannot accept lvalue as parameter in this case?

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×3

facebook ×1

javascript ×1

sdk ×1