小编StP*_*ere的帖子

C++20 string/u8string 和 string_view/u8string_view 之间的转换

C++20 引入了char8_t相应的等u8stringu8string_view主要是为了支持更清晰的接口以及更好地区分窄执行和 utf-8 字符集。

\n

缺点之一是旧代码可能不再起作用。

\n

假设我有使用utf-8 编码 std::string/ std::string_view(来自 C++17)的接口。

\n

如果我想采用 C++20 的实现,std::u8string / std::u8string_view但目前将接口保留给,那么在和std::string之间来回转换的最简单方法将是使用,例如:string/string_viewu8string/u8string_viewreinterpret_cast

\n
#include <iostream>\n#include <string>\n#include <windows.h>\nusing namespace std;\n\nint main()\n{\n    SetConsoleOutputCP(CP_UTF8);\n\n    u8string u8s = u8"\xc3\xa4";\n    // string s = u8"\xc3\xa4"; OK in C++17, NOK in C++20\n    string s(reinterpret_cast<const char*>(u8s.c_str()));\n    // or string s(u8s.cbegin(), u8s.cend());\n    cout << s << endl;\n    u8string u8s2(reinterpret_cast<const char8_t*>(s.c_str()));\n    // or u8string u8s2(s.begin(), s.end())\n\n    // …
Run Code Online (Sandbox Code Playgroud)

c++ c++17 c++20

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

Symfony2动态表单生成

我有mysql 2表:user_profile_fielduser_profile_data,包含以下列:

user_profile_field:

-id (integer)
-field (string)
-category(string) 
Run Code Online (Sandbox Code Playgroud)

user_profile_data:

-id (integer)
-user_id (integer)
-field_id (integer) references user_profile_field(id)
-data (string)
Run Code Online (Sandbox Code Playgroud)

我还定义了2个映射此关系的Doctrine实体.我需要dynamicaly来创建一个用于更新user_profile_data的表单.user_profile_field每行的表单输入类型取决于user_profile_field:category列(3个可能的值对应不同的输入类型:text,textarea和choice field)...

我不知道如何通过'Symfony2'方式创建表单和表单类型实体?

任何帮助或建议表示赞赏......

forms dynamic symfony doctrine-orm

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

标签 统计

c++ ×1

c++17 ×1

c++20 ×1

doctrine-orm ×1

dynamic ×1

forms ×1

symfony ×1