小编ran*_*alt的帖子

如何使用HTML/CSS UI构建本机C++应用程序?

是否可以在为用户界面使用HTML和CSS时开发C++程序?我知道使用Webkit容器使用Javascript进行编程,但我对C++开发很感兴趣.

当我在Windows下开发时,我感觉爱上了C#WPF,但是现在我转向Linux并且我没有找到一个使用标记接口的好工具.为此,我想混合HTML和CSS,它们非常轻巧,易于使用,使用C++代码,比如WPF.

哦,还有一件事:我正在寻找桌面开发,而不是网络.

html css c++ user-interface desktop-application

72
推荐指数
5
解决办法
8万
查看次数

如何为类似union的类编写析构函数

我正在尝试使用具有一些非原始变量的union(C++),但是我一直试图为该类创建析构函数.正如我所读到的那样,无法猜测正在使用的union的哪个变量因此没有隐式析构函数,并且因为我在堆栈上使用了这个union,所以编译器错误会删除析构函数.工会如下:

struct LuaVariant {
    LuaVariant() : type(VARIANT_NONE) { }

    LuaVariantType_t type;
    union {
        std::string text;
        Position pos;
        uint32_t number;
    };
};
Run Code Online (Sandbox Code Playgroud)

type变量保存正在使用的union的哪个字段(从枚举中选择),以便从union中读取,并且它可以用于猜测应该删除哪个值.我尝试了一些不同的方法,但没有一个工作.首先,只是尝试了默认的析构函数:

~LuaVariant() = default;
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为默认值是......已删除.所以,我尝试用空值交换值,这样内容就会被删除,并且没有"泄漏"空值的问题:

~LuaVariant() {
    switch (type) {
        case VARIANT_POSITION:
        case VARIANT_TARGETPOSITION: {
            Position p;
            std::swap(p, pos);
            break;
        }
        case VARIANT_STRING: {
            std::string s;
            std::swap(s, text);
            break;
        }
        default:
            number = 0;
            break;
    }
};
Run Code Online (Sandbox Code Playgroud)

但由于我不是工会的主人,我不知道这是否会导致其他问题,例如分配的内存永远不会被解除分配,或类似的东西.这种交换策略能否在没有缺陷和问题的情况下使用?

c++ destructor memory-management unions c++11

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

Meteor + accounts-facebook重定向到错误的网址

我目前正在我的服务器上开发,而不是在我的个人计算机上开发,但似乎无法告诉Meteor,因为我正在尝试使用Facebook登录.预期的登录URL app.example.com

https://www.facebook.com/dialog/oauth?client_id=<client id>&redirect_uri=http://app.example.com/_oauth/facebook?close&<more junk>
Run Code Online (Sandbox Code Playgroud)

但我总是得到

https://www.facebook.com/dialog/oauth?client_id=<client id>&redirect_uri=http://localhost:3000/_oauth/facebook?close&<more junk>
Run Code Online (Sandbox Code Playgroud)

我正在使用Nginx作为Meteor服务器的代理,所以我应该能够访问它app.example.com,但Meteor似乎没有检测到它.哪里可以改变?

facebook nginx url-routing meteor

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

Enigma 副本未产生预期结果

在阅读维基百科和其他专用资源后,我试图用 Python 代码模拟二战之谜机器。目前,我有一台机器可以对输入文本进行加扰,如果重置配置,可以将加扰的输出恢复为输入。但问题是代码没有从维基百科上的相同配置中产生预期的结果:

With the rotors I, II and III (from left to right), wide B-reflector, all ring
settings in A-position, and start position AAA, typing AAAAA will produce the
encoded sequence BDZGO.
Run Code Online (Sandbox Code Playgroud)

如果我尝试AAAAA使用我在此列表中找到的转子和反射器配置进行加密,我会得到加密文本EVRDWBDZGO这与预期相反。

由于文本正在加密并且可以正确解密,我相信错误出在文本解释(或我对它们的理解)的某个地方,但我找不到我的代码不遵循 Enigma 机器操作的地方。

代码链接

python encryption

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

我在哪里散列密码?

我正在使用 MVC,我想知道在什么时候对用户密码进行哈希处理:

  1. 在发送到服务器之前(查看)
  2. 在服务器中,当我设置对象字段(模型)
  3. 在服务器中,当我将对象发送到控制器(控制器)
  4. 在服务器中,当我准备语句时(控制器)
  5. 在数据库中,

例如"set password = sha256(:password)"在语句中使用

我有点困惑,当我创建对象并设置“密码”字段时,我总是对密码进行哈希处理,但我在某处读过它不够安全。我不知道。

php password-encryption

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

Laravel 4路由到控制器方法

我目前正尝试如下路线:

  • 如果用户获取 /account/
    • 如果会话有account_id,则用户登录; 显示他的帐户信息
    • 如果没有,用户没有登录; 显示登录/创建表单
  • 如果用户POST /account/
    • 如果输入create,则用户想要创建帐户; 创造它
    • 如果没有,用户想登录; 找到他的帐户然后再去/account/

我的路线是这样设定的:

Route::get('account', function() {
    if (Session::has('account_id'))
        return 'AccountsController@show';
    else
        return 'AccountsController@index';
});

Route::post('account', function() {
    if (Input::has('create')) {
        return 'AccountsController@create';
    else    
        return 'AccountsController@login';
)};
Run Code Online (Sandbox Code Playgroud)

这有点像我对Rails的处理,但我不知道如何指向控制器方法.我只是得到了返回的字符串.我没有在Laravel文档中找到它(我发现它很差,或者我搜索错了?)在任何其他网络教程中都没有.

php laravel laravel-4

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

Python列表没有分配变量

好吧,我可以轻松地使用这段代码而不会出现Python错误:

>>>> a = range(5, 10)
>>>> b = range(15, 20)
>>>> a.extend(b)
>>>> a
[5, 6, 7, 8, 9, 15, 16, 17, 18, 19]
Run Code Online (Sandbox Code Playgroud)

我也可以使用这种方法,而不使用b:

>>>> a = range(5, 10)
>>>> a.extend(range(15, 20))
>>>> a
[5, 6, 7, 8, 9, 15, 16, 17, 18, 19]
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚为什么在这种情况下不会发生同样的事情:

>>>> [5, 6, 7, 8, 9].extend(range(15, 20))
>>>>
Run Code Online (Sandbox Code Playgroud)

a应该和上面的列表一样吗?我只看到了我对这个状态进行硬编码的不同之处.我真的可以理解,硬编码列表不能修改,而不是变量或其他东西,但......

>>>> [5, 6, 7, 8, 9][2]
7
Run Code Online (Sandbox Code Playgroud)

这让我感到惊讶.更奇怪的是:

>>>> [5, 6, 7, 8, 7].count(7)
2
>>>> [5, 6, 7, 8, …
Run Code Online (Sandbox Code Playgroud)

python methods list hardcode

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

Typecast泛型类型C++

我重载了operator[]我的DataStructure类以返回指示的值,如下所示:

T& operator[](int i) {
    return m_array[i];
}
Run Code Online (Sandbox Code Playgroud)

但是当我遍历值时,我想按如下方式打印它们:

for (int i = 0, s = stack->size(); i < s; ++i) {
    printf("%7i %5i\n", i, stack[i]);
}
Run Code Online (Sandbox Code Playgroud)

因为我创建了通用DataStructure作为整数Stack(派生类)

stack = new Stack<int>(STACKSIZE);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我希望每一个项目在堆栈中为int,但是编译器说,我不能强制转换Stack<int>int,即使我不是要强制转换的堆栈!

我错过了什么?另外,我不能用

printf("%7i %5i\n", i, (int)stack[i]);
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它"不是"整数类型.

c++ generics casting

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