当前位置: 首页 > 知识库问答 >
问题:

为什么google c/c++风格不允许在多重声明中使用 & 或 *?

齐博厚
2024-06-08

为什么google c/c++风格不允许在多重声明中使用 & 或 *

int x, *y;  // 不允许 - 在多重声明中不能使用 & 或 *char * c;  // 差 - * 两边都有空格const string & str;  // 差 - & 两边都有空格.

如上

共有1个答案

纪勇军
2024-06-08

我都理解是期望指针/引用形式的变量明确和普通的值类型变量分开声明,相对明确一点,这一行就是一个指针,这个指针是初始化了还是没初始化,这一行是一个引用,它是谁的别名。

 类似资料:
  • 问题内容: 我知道Java和C#中不允许多重继承。许多书只是说,不允许多重继承。但是可以通过使用接口来实现。没有任何关于为什么不允许它的讨论。谁能确切告诉我为什么不允许这样做? 问题答案: 简短的答案是:因为语言设计师决定不这样做。 基本上,.NET和Java设计器似乎都不允许多重继承,因为他们认为添加MI会增加语言的复杂性,而带来的好处却很少。 要获得更有趣和深入的阅读,Web上提供了一些文章,

  • 这是对我上一个问题的延续,并同意这个问题的答案 包装类声明 Java将原始数据类型包装到包装类中,那是为什么呢 不允许,但 是允许的。

  • 我看到了这种奇怪的行为,我想知道是否有合理的解释: 当我(意外地)在函数的局部变量中添加了一个额外的分号时,如: 它确实可以编译,但它表明它是多余的。 但当我对字段执行此操作时(也是偶然),我得到了一个错误(编译): 问题 是否有任何理由限制这些领域? Nb我已经知道了不允许带有字段的另一个限制因素。但这里有所不同。

  • 问题内容: 在什么情况下HTML页面包含具有重复ID属性的元素是 非法 的? 作为使用HTML已有多年经验的开发人员,我知道这样做的目的是元素ID 应该 是唯一的-我要问的是重复ID的实际负面影响。 当然,某些库中类似于getElementByID()的函数可能返回数组而不是单个元素,并且当开发人员未预期这种情况时,这可能会导致问题。但是,据我所知,此类功能将继续清晰地运行,它们并不是id重复项的

  • 问题内容: Java将原始数据类型包装到包装器类,然后为什么 不允许,但 被允许。 问题答案: 因为原语表示 值, 而对象变量表示对复杂数据对象的 引用 (类似于指针)。 没有通用的null值,它是一个特殊的关键字,它“不引用任何内容”或为空引用 -这是非常不专业的答案,但我想它会是最合适的。 此外,您认为null的数值是多少?0?-1?但是,这些是有效的整数,那又是什么? 我强烈建议您开始熟悉以

  • 问题内容: 这是允许的: 但这不是: 为什么不?为什么不能在没有类型的情况下将函数外部的短变量声明视为常规声明?只是为了简化解析? 问题答案: 据伊恩·兰斯·泰勒(Ian Lance Taylor)在公开宣布后不久在此主题中提到: 在顶层,每个声明都以关键字开头。这简化了解析。

  • 问题内容: 我想知道为什么它是Java不允许超负荷使用,虽然他们都以不同的方式使用? 使用方式如下: 而另一种形式: 使用方式如下: 这背后有什么原因吗? 问题答案: 这个15.12.2.5选择最具体的方法对此进行了讨论,但是它相当复杂。例如,在Foo(数字…整数)和Foo(整数…整数)之间进行选择 为了向后兼容,这些实际上是同一件事。 例如,您可以将main()定义为 一种使它们与众不同的方法是

  • 问题内容: 我读了这个问题,并认为如果可以写的话,很容易解决(不是没有它就不能解决): 我不确定在很多情况下它是否有用,但是我想知道为什么它没有用,以及其他语言中是否存在类似的东西。 你们有什么感想? 编辑: 澄清一下:是的,我知道,这在Java中是不可能的,我也不是很想念它。这不是我期望的工作,并且惊讶于出现编译器错误。我只是有这个主意,喜欢讨论它。 问题答案: 它违反了封装。你不应该能够绕过父