小编Kvo*_*the的帖子

如何将字符串的值赋给std :: unique_ptr <std :: string>?

在声明一个std::unique_ptr<std::string>但没有分配它之后(所以它包含一个std::nullptr开始) - 如何为它赋值(即我不再希望它保持std::nullptr)?我试过的方法都没有.

std::unique_ptr<std::string> my_str_ptr;
my_str_ptr = new std::string(another_str_var); // compiler error
*my_str_ptr = another_str_var; // runtime error
Run Code Online (Sandbox Code Playgroud)

在哪里another_str_varstd::string先前声明和分配的.

很明显,我对std::unique_ptr正在做的事情的理解非常不足......

c++ string unique-ptr

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

SFML没有静态链接到openal32(静态链接到所有其他依赖项)

我使用CMake for MinGW编译了SFML.运行"mingw32-make install"后,所有内容都已构建并安装,没有任何错误.但是在运行示例时--pong.exe,sound.exe,sound-capture.exe和voip.exe都依赖于openal32.dll.

SFML_USE_STATIC_LIBS = true在配置CMake时指定,示例可执行文件的所有其他依赖项仅在本机Windows dll上.

任何人都可以解释为什么它动态链接到openal32(但没有别的)?

编辑:我刚刚遇到了这个主题http://en.sfml-dev.org/forums/index.php?topic=262.0,它正在讨论完全相同的问题.我想(因为这是从2008年开始),现在已经实现了.还是它仍处于相同的情况?

编辑2:此处的响应http://en.sfml-dev.org/forums/index.php?topic=18119.0表明OpenAL必须由于许可证而动态链接.任何人都可以确认许可证是否允许使用可执行文件分发openal32.dll?

c++ cmake sfml

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

将绘图窗口的控制"更深"地传递到程序中?

SFML 2.3用来控制程序中的图形.我需要一个类才能访问窗口,即使该类不是最初创建窗口的类(没有所有权)也可以绘制它.例如,Battle班级需要能够绘制战斗场景并操纵角色,但是World班级需要前后窗口Battle来显示玩家在主游戏中的移动.

如何处理窗口对象?我最初的想法是拥有一个GameMaster将窗口作为静态成员的类.但是,考虑到通常的共识是什么,我认为最好不要错误地使用这种方法.

我意识到我总是可以将窗口的引用传递给需要它的每个类,但这会使所有需要操作窗口的类的构造函数变得非常膨胀.

c++ graphics sfml

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

如何在 Windows 上正确地将 Symfony 添加到 Path?

我按照入门页面(https://symfony.com/doc/current/setup.html)按照说明进行操作。

所以运行后 php -r "readfile('https://symfony.com/installer');"

然后我symfony在我的 C 驱动器的根目录中调用了一个文件。

然后我将它移到我的C:\wamp64\bin\php文件夹中。

添加C:\wamp64\bin\php到我的路径并关闭然后重新打开控制台(刷新路径,如果我运行,echo %path%我可以看到它已添加到路径中)。然后我尝试跑步symfony,我得到的消息是 'symfony' is not recognized as an internal or external command, operable program or batch file..

如果我尝试symfony在它所在的目录中运行,我会收到相同的消息。

如果我移动到包含symfony并运行php symfony它的目录,它会工作,但是在不包含symfony.

如果我使用 GitBash 并尝试运行,symfony那么它会按预期工作。

为什么控制台没有symfony在我的路径上找到,我如何将它添加到它以便它可以正确找到它。

我正在使用 Windows 10 并安装了 WAMP。

symfony

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

在Volt中获取数组的大小

Volt(Phalcon的模板引擎)中,如何获取数组中的元素数量?我试过sizeof,也count,lengthsize(希望在正确的命令绊倒).

在这个特定的例子中,我只对是否有0个元素感兴趣,但将来能够获得实际数字会很方便.

arrays phalcon volt

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

为什么必须在使用模板的每个函数之前声明模板?

为什么以下代码有效

template<class T>
T AddThree(T input)
{
    return input + 3;
}

template<class T>    // If I remove this line it won't compile
T SubtractThree(T input)
{
    return input - 3;
}
Run Code Online (Sandbox Code Playgroud)

但如果我注释掉该行表明它不会编译?为什么编译器template<class T>从第一次声明时就不知道(就像在文件正文中声明的其他内容一样)?

c++ templates

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

如何访问特质中的班级成员(或获得类似的行为)?

这是我先前有关解决php中的菱形问题的问题的后续解决方案

当我陈述该问题时,我通过使用trait并将实例传递给trait方法来解决我的问题。如:

trait SecurityTrait
{
    public function beforeExecuteRouteTrait($controller, Dispatcher $dispatcher)
    {
        // Do something that makes use of methods/members of the controller
    }
}

class AppController extends Controller
{
    use SecurityTrait;

    public function beforeExecuteRoute(Dispatcher $dispatcher)
    {
        return $this->beforeExecuteRouteTrait($this, $dispatcher);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我仍然对此感到不舒服,因为我认为这并不是应该真正使用特质的方式。在我的阅读中,我还没有发现任何方式在访问类成员特征(化妆$this内部特征指的是使用它)。这可能吗?还是有另一种方式来实现类似的行为?

阅读了一些答案之后...

以前,我以为$this->...在特质内部使用时会遇到错误,这使我相信特质无法访问与基础类有关的任何内容。阅读答案后,我尝试更改代码以$this->...再次在特征中使用,并且它可以正常工作-这意味着几周前的错别字使我头疼不已...

前面给出的示例现在看起来像这样

trait SecurityTrait
{
    public function …
Run Code Online (Sandbox Code Playgroud)

php inheritance

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

标签 统计

c++ ×4

sfml ×2

arrays ×1

cmake ×1

graphics ×1

inheritance ×1

phalcon ×1

php ×1

string ×1

symfony ×1

templates ×1

unique-ptr ×1

volt ×1