Tag: 标准

C ++ 11编译器:最接近标准和多近?

我现在对C ++ 11显然已经被批准了,现在对C ++更加深入的学习很感兴趣。 什么编译器当前实现了最接近完整的C ++ 11支持的东西? 说编译器有多接近完全支持? 还是有主要的function缺失或只是语言律师的细节?

对于{A = a; B = B; },在“B = b”之前会严格执行“A = a”吗?

假设A , B , a和b都是variables, A , B , a和b的地址都是不同的。 然后,对于下面的代码: A = a; B = b; C和C ++标准明确要求A=a在B=b之前严格执行吗? 鉴于A , B , a和b的地址都不相同,编译器是否允许为了某种目的(如优化)交换两个语句的执行顺序? 如果我的问题的答案在C和C ++中是不同的,我想知道两者。 编辑:问题的背景是以下。 在棋盘游戏AIdevise中,为了优化,人们使用无锁共享哈希表 ,如果我们不添加volatile限制,其正确性强烈依赖于执行顺序。

“长”保证至less有32位?

通过阅读C ++标准,我一直认识到C ++中积分基本types的大小如下: sizeof(char) <= sizeof(short int) <= sizeof(int) <= sizeof(long int) 我从3.9.1 / 2推导出来的: 有四个有符号整数types:“signed char”,“short int”,“int”和“long int”。在这个列表中,每个types至less提供与列表中的前一个types相同的存储。 Plain int具有执行环境的体系结构所build议的自然大小 此外, char的大小被3.9.1 /描述为: 足够大以存储实现的基本字符集的任何成员。 1.7 / 1从更具体的angular度对此进行了定义: C + +内存模型中的基本存储单元是字节。 一个字节至less足够大以包含基本执行字符集的任何成员,并且由一个连续的位序列组成,其数目是由实现定义的。 这使我得出以下结论: 1 == sizeof(char) <= sizeof(short int) <= sizeof(int) <= sizeof(long int) sizeof告诉我们这个types有多less个字节。 而且,实现定义了多less位在一个字节中。 我们中的大多数人可能习惯于处理8位字节,但标准中说有一个字节有n位。 在这篇文章中 ,Alf P. Steinbach说: 长保证(至less)32位。 这在一切我都了解的基础types的大小在C ++根据标准的苍蝇。 通常情况下,我只是将这个陈述折扣为初学者是错误的,但是因为这是Alf,我决定进一步调查。 […]

在C ++中,正确的是<,==和>中的一个,在float上保证是真的?

在C ++中,我是否有保证,对于任何给定的float a和float b ,只有一个a < b , a == b和a > b是真的? 如果这在编译器和平台之间有所不同,我对x86上的Visual C ++感兴趣。

hibernate标准限制和/或组合

我将如何实现这个使用hibernate限制? (((A='X') and (B in('X',Y))) or ((A='Y') and (B='Z')))

PHP CodeSniffer有多有用? 守则标准强制执行?

我正在考虑在持续集成服务器上设置PHP CodeSniffer ,以提高代码库的质量。 阅读完文档之后,我对标准化和执行编码标准的想法感到非常兴奋。 但是,我仍然想知道我们产品的实际改进。 我很清楚,嗅探器只能检测到违规行为,而不是一个明确的编码标准,但是干净,一致的代码库提供了什么样的好处呢? 为了符合PEAR标准,使用10万行代码重构项目是否值得花费额外的工作? 对于那些不熟悉PHP CodeSniffer或者一般代码嗅觉的人来说,这里是一个输出示例: FILE:/path/to/code/myfile.php 发现5错误(S)影响2线(S) – 2 | 错误| 缺less文件的文件评论 20 | 错误| PHP关键字必须小写; 预计“假”,但发现“假” 47 | 错误| 线没有正确缩进; 预计4个空格,但发现1 51 | 错误| 缺lessfunction文档评论 88 | 错误| 线没有正确缩进; 预计9空间,但发现6 严格地说,用户/客户不会注意到重构的产品有任何区别,符合标准,但我想知道是否还有其他隐藏的好处 现在我们的代码并不是马虎,我们试图遵循我们自己的个人标准,这个标准大部分来自梨编码标准,但训练有素的眼睛可以发现差异。 所以我的问题是他们提高产品的质量有多less。 由此产生了什么样的潜在利益? 我只是为了强迫自己的产品更接近一套标准? 这会值得吗? 如果是这样,你使用什么样的策略来实现代码嗅探器,并纠正后来检测到的违规行为?

size_t总是未签名?

作为标题:size_t总是无符号的,即对于size_t x ,是x总是>= 0 ?

正确的URL与Query String和Anchor Hashtag组成

当查询string和定位标记(哈希标记)在URL中可见时,它们出现的顺序是什么? http://www.whatever.com?var=val#anchor 要么 http://www.whatever.com#anchor?var=val 有没有关于这个的任何文件? 更新: URL由Wordpress / PHP处理

正确的方式来初始化HashMap,并可以HashMap保存不同的值types?

所以我有两个有关Java中的HashMap的问题: 什么是正确的方式来初始化一个HashMap ? 我认为这可能是最好的在我的情况下使用: HashMap x = new HashMap(); 但是Eclipse总是build议我使用: HashMap<something, something> map = new HashMap(); 哪个更好? HashMap将不同types的对象/数据types保存为值吗? 例如,这样做是否行得通: map.put("one", 1); map.put("two", {1, 2}); map.put("three", "hello"); 在第一个put() ,我想要一个int作为值,第二个int[] ,第三个string。 在Java中使用HashMap吗? 另外,将HashMap作为一个值存储在HashMap吗?

干净的方式从shell脚本启动网页浏览器?

在一个bash脚本中,我需要启动用户的Web浏览器。 似乎有很多这样做的方法: $BROWSER xdg-open 在GNOME上gnome-open gnome www-browser x-www-browser … 有没有一个比其他标准的方式来做到这一点,可以在大多数平台上工作,或者我应该这样做: #/usr/bin/env bash if [ -n $BROWSER ]; then $BROWSER 'http://wwww.google.com' elif which xdg-open > /dev/null; then xdg-open 'http://wwww.google.com' elif which gnome-open > /dev/null; then gnome-open 'http://wwww.google.com' # elif bla bla bla… else echo "Could not detect the web browser to use." fi