由于C++ 11的文档不足,我遇到了一个小问题.
我想获得一个自纪元以来的时间,以毫秒为单位,或纳秒或秒,然后我必须将此值"转换"为另一个分辨率.我可以使用gettimeofday()来做它,但它很容易,所以我尝试使用std :: chrono来实现它.
我试过了:
std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
Run Code Online (Sandbox Code Playgroud)
但是我不知道以这种方式获得的分辨率是什么time_point,我不知道如何将这个时间作为一个简单的无符号long long,我没有任何概念如何将它转换为另一个分辨率.
我希望我能得到最简单的示例代码,它将展示如何使用LMAX disruptor(http://code.google.com/p/disruptor/).
不幸的是,每一段代码都已过时.有人知道吗,我在哪里可以找到小而且最新的howto(最好没有DSL)?
我想使用std::array
C++ 11作为我自己班级的一个领域.它需要两个模板参数(第一个定义数据类型,第二个定义数组的大小).
但我只知道构造函数中的第二个参数.我不熟悉C++ 11标准,但我认为在执行期间不可能设置模板参数.
还有其他选择std::array
吗?std::vector
可能有点太多了,因为我永远不会改变它的大小.
我试图产生当前线程:
的std :: this_thread ::收率();
但不幸的是GCC知道的更好:
'yield'不是'std :: this_thread'的成员
我忘了一些类似于D_GLIBCXX_USE_NANOSLEEP的黑客攻击,或者是什么?
我使用以下联合来简化字节,半字节和位操作:
union Byte
{
struct {
unsigned int bit_0: 1;
unsigned int bit_1: 1;
unsigned int bit_2: 1;
unsigned int bit_3: 1;
unsigned int bit_4: 1;
unsigned int bit_5: 1;
unsigned int bit_6: 1;
unsigned int bit_7: 1;
};
struct {
unsigned int nibble_0: 4;
unsigned int nibble_1: 4;
};
unsigned char byte;
};
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但它也会生成此警告:
警告:ISO C++禁止匿名结构[-pedantic]
好的,很高兴知道.但是......如何从我的g ++输出中得到这个警告?是否有可能在没有这个问题的情况下写出这样的联盟?
我必须检查特定字符串是否以另一个字符串开头.字符串使用utf8编码,比较应不区分大小写.
我知道这与C++中的Case不敏感字符串比较非常相似,但我不想使用boost库,我更喜欢可移植解决方案(如果它"几乎'不可能,我更喜欢面向Linux的解决方案).
在C++ 11中使用其regexp库是否可行?或者只使用简单的字符串比较方法?
我正在以这种方式使用std :: map:
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
map<string, int> my_map;
my_map.insert(pair<string, int>("Ab", 1));
my_map.insert(pair<string, int>("Abb", 2));
my_map.insert(pair<string, int>("Abc", 3));
my_map.insert(pair<string, int>("Abd", 4));
my_map.insert(pair<string, int>("Ac", 5));
my_map.insert(pair<string, int>("Ad", 5));
cout<<my_map.lower_bound("Ab")->second<<endl;
cout<<my_map.upper_bound("Ab")->second<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想获得其键以特定字符串开头的所有值(例如"Ab").我可以使用map :: lower_bound轻松获取begin迭代器.但是我怎样才能获得上限?我是否必须从下限开始迭代整个集合并检查每个键是否仍然以"Ab"开头?
Python中是否有任何余数运算符?我不要求模运算符,但余数.例如:
-5 mod 2 = 1
Run Code Online (Sandbox Code Playgroud)
但
-5 rem 2 = -1 # where "rem" is a remainder operator.
Run Code Online (Sandbox Code Playgroud)
我是否必须自己实施;)?
我有以下元素列表:
a, b, c, 1337, d, e
Run Code Online (Sandbox Code Playgroud)
我希望我有:
e, d, 1337, c, b, a
Run Code Online (Sandbox Code Playgroud)
我怎样才能在bash中实现这一目标?