Tag: 标准

是否必须在正则expression式的字符类(方括号)中转义点?

点. 在正则expression式中匹配任何单个字符。 为了让正则expression式匹配一个点,点必须被转义: \. 有人指出 ,在方括号内[]一个点不一定要逃脱。 例如,expression式: [.]{3}将匹配…string。 不是吗? 如果是这样,所有正则expression式的标准是真的吗?

与“指标和网格”build议匹配的Android布局示例

在尝试了解(相当新的)Android Design网站的Metrics and Grids页面之后,我放弃了很多东西。 所以,基本上,我试图find在Android 4中使用的原始布局,以便我可以应用相同的概念。 为了使这个问题更加客观,不会在“太宽泛”的stackoverflow的斧头下失败,我要求您提供用于完全和完整地重新创build该页面示例的布局。 Google提供了样本吗? 也许是一个众所周知的教学资料库,努力符合标准? 举一个例子,目前还不清楚如何重build“48/3度量”(16/16/16)以使文本适合它。 如果我想使用一行小文本怎么办? 是否16 / wrap_content / 16,或16/16/16,以使其与周围的其他布局一致? 如果… 我相信这不仅能够帮助小开发者,而且最重要的是帮助标准化Android Play中应用的外观和感觉。 该网站是一个好的开始,但远非理想。 增加了细节 我从来没有问过这么多的问题,我甚至没有想到(我还有其他问题,我认为是“更好”,但远远没有这么多的票和收益)。 当然,我并不关心选票,但是这是为了表明对我的要求有很高的要求 (这里有一些广告词 ,但还是…)。 回复评论 @ 里卡多·阿马拉尔 : 如果我不够清楚,我确实感到抱歉: 强制标准的要求和明确要求是不同的问题 。 我喜欢Android的原因之一就是我们拥有的自由度,所以我非常清楚强制大多数常见做法是不可能的。 我认为这涉及到自由观念中的“ 重新发明 ”这个概念。 再次,这些只是例子。 有些东西还不清楚 ……哪些是外包装的填充物,内部边缘的边距? 很多时候,在select器,拖动等等方面都有所不同,这又为用户翻译成熟悉的外观和感觉。 有一件事感觉像分裂头发,但它很快加起来很小的差异 。 用户注意到它看起来像缺乏最后的“画龙点睛”。 @ 迈克尔·斯莱德 : 我知道他们是个例子,他们可能已经被模板化了。 如上所述,我已经在重复使用SDK中的代码,而且我知道它们只是一些例子,我们可以从中偏离它们。 再次,这个时候以后,没有人回答。 select性从精确性中受益 。 这就是我想要说的。 因为这是一个build议,并不意味着它的指导方针可以是任何你想要的。 如果你这样做,这不是build议了。 顺便说一下,这就是build议的重点:提供一个实施scheme理论而不强迫任何人。 […]

什么是声明和声明,它们的types是如何被标准解释的?

例如float (*(*(&e)[10])())[5]声明一个types为“指向10的指针的数组的指针”的variables返回指向数组的指针5 float “? 受@DanNissenbaum的讨论启发

为什么原始函数和用户定义的types在从函数返回为“const”时的行为不同?

#include <iostream> using namespace std; template<typename T> void f(T&&) { cout << "f(T&&)" << endl; } template<typename T> void f(const T&&) { cout << "f(const T&&)" << endl; } struct A {}; const A g1() { return {}; } const int g2() { return {}; } int main() { f(g1()); // outputs "f(const T&&)" as […]

C ++ 11和缺乏多态lambdaexpression式 – 为什么?

我一直在审查C ++ 11标准的草案版本。 特别是关于lambda的章节,我对于不引入多态lambdaexpression式的理由感到困惑。 例如,在100001种方法中,可以使用多态lambdaexpression式,我希望我们可以使用如下的代码: template<typename Container> void foo(Container c) { for_each(c.begin(), c.end(), [](T& t) { ++t; }); } 原因是什么: 委员会是否耗尽了时间? 那个多态的lambdas太难实现了? 或者也许他们被视为PTB不需要? 注意:请记住上面的例子不是唯一的,它只是作为代码types的指南。 仅仅专注于为上述代码提供解决方法的答案将不被视为有效! 相关资料: 用于C ++的Lambdaexpression式和闭包 (文档编号N1968 = 06-0038) lambda函数可以模板化吗?

UUID名称空间来自哪里?

UUID规范定义了4个预定义的命名空间,它被描述为“潜在的有趣的”,意思是“如果其他人在这个命名空间中生成了UUID,你可以validation它们:” DNS的6ba7b810-9dad-11d1-80b4-00c04fd430c8 6ba7b811-9dad-11d1-80b4-00c04fd430c8的URL 6ba7b812-9dad-11d1-80b4-00c04fd430c8 ISO OID 6ba7b814-9dad-11d1-80b4-00c04fd430c8于X.500 DN的6ba7b814-9dad-11d1-80b4-00c04fd430c8 这些来自哪里? 特别; 如果我生成我自己的命名空间UUID,我是否需要避免什么特别? 我知道UUID空间有多大,但是这对碰撞有什么意义吗? 为什么他们select第四个八位字节作为UUID的“版本号”来增加? 我的问题意味着我错过了一些关于UUID的基本知识吗?

ISO / IEC网站和C和C ++标准的收费

ISO C标准(ISO / IEC 9899)和ISO C ++标准(ISO / IEC 14882)不在线发布; 相反,必须为每个标准购买PDF。 我想知道这背后的理由是什么……对C和C ++编程语言都没有害处,这些语言的权威性规范是不是可以免费获取和在线search的? 这不鼓励使用可能不准确的,非权威的来源来获取关于这些语言的信息吗? 虽然我知道在开发C和C ++标准方面花费了很多时间和精力,但是我仍然对收费标准的select感到困惑。 例如, OpenGroup Base Specification可以免费在线; 他们通过收取authentication来赚钱。 有没有人知道为什么ISO标准委员会没有在authentication标准合规方面的收入,而不是收取这些文件? 另外,有没有人知道ISO标准委员会的暴露神秘的网站是否有意使这样看? 就好像他们不希望人们访问和购买规范。 最后一件事…… C和C ++标准通常被描述为“开放标准”……虽然我意识到这意味着任何人都可以执行该标准,但是应该修改“开放”的定义吗? 对标准进行收费而不是公开提供似乎违背了开放的精神。 PS我有一个ISO / IEC 9899:1999和ISO / IEC 14882:2003的副本,所以请不要谈论便宜或任何东西…虽然如果你想说这样的事情,你可能要考虑高中,本科和研究生可能没有多less额外的现金。 此外,你可能要考虑的事实,即ISO网站是非常粗略的,他们甚至不告诉你的费用,直到你进行结帐…并不真正鼓励一个去拿一份副本,现在做它? 编辑/评论 我发现,如果ISO标准委员会从authentication中获得收入,它会激励对标准进行更小更频繁的更改,而不是非常大的修改。 它也会激励创build一个可实施的标准(我怀疑如果ISO C ++委员会从authentication中获得收入,那么他们首先会引入“出口”)。 我已经find了一个解决scheme来解决没有在线PDF的问题….我已经将我的标准副本上传到了我的Google文档中,这样我仍然可以从任何一台计算机上访问它,而不用担心。

什么时候可以在#include指令中省略文件扩展名?

我正在玩gmock,并注意到它包含这一行: #include <tuple> 我会期待tuple.h 。 什么时候可以排除扩展名,是否赋予该指令不同的含义?

准备std :: iterator被弃用

标准委员会于3月21 日投票批准了P0174中提出的std::iterator的弃用 : 对于读者来说,空的参数的长序列对于读者来说要简单得多,而不是简单地在类定义本身中提供预期的types定义,这是当前工作草案采用的方法,遵循C ++ 14中设置的模式 鼓励从std::iteratorinheritancePre-C ++ 17,从迭代器样板实现中移除繁琐的代码。 但是,弃用将需要这些东西之一: 迭代器样板现在需要包含所有必需的typedef 使用迭代器的algorithm现在需要使用auto而不是依赖迭代器来声明types Loki Astaribuild议 std::iterator_traits可以更新为无需inheritancestd::iterator 有人可以启发我,我应该期望哪些选项,因为我devise的自定义迭代器与C + + 17兼容性的眼睛?

一个名字或types是否意味着某种语言的联系是什么意思?

根据(c)ANSI ISO / IEC 14882:2003,第127页: 联动规格嵌套。 当联动规范嵌套时,最内层的决定语言。 联动规范不build立范围。 链接规范只能在命名空间范围(3.3)中出现。 在一个链接规范中,指定的语言链接适用于由声明引入的所有函数声明符,函数名称和variables名称的函数types。 extern "C" void f1(void(*pf)(int)); // the name f1 and its function type have C language // linkage; pf is a pointer to a C function extern "C" typedef void FUNC(); FUNC f2; // the name f2 has C++ language linkage and the // function's type […]