Tag: 标准

Intellij Idea – 自动添加最终关键字到生成的variables

新引入的代码约定要求尽可能使用“final”关键字。 问题是 – 是否有可能自动生成这个关键字的variables? 例如 – 我select一个代码片段: "bla"+"bla"+"bla" 并按下ctrl + alt + v – IDE生成一个像这样的variables: String blaString = "bla"+"bla"+"bla"; 但我需要它 final String blaString = "bla"+"bla"+"bla"; PS我知道检查和“修理所有”的可能性,但它不能在任何地方使用,因为有许多旧的代码不应该无故重构。

如何确定编译器使用的C ++标准的版本?

你如何确定你的编译器实现了什么版本的C ++标准? 据我所知,以下是我所知道的标准: C ++ 03 C ++ 98

auto_ptr是否被弃用?

auto_ptr会在传入的C ++标准中被弃用吗? unique_ptr应该用于所有权转移,而不是shared_ptr? 如果unique_ptr不在标准中,那么我是否需要使用shared_ptr?

在if语句的条件部分中定义一个variables?

我只是感到震惊,这是允许的: if( int* x = new int( 20 ) ) { std::cout << *x << "!\n"; // delete x; } else { std::cout << *x << "!!!\n"; // delete x; } // std:cout << *x; // error – x is not defined in this scope 那么,这是标准所允许的,还是只是一个编译器扩展? PS由于有几个意见,请忽略这个例子是“坏”或危险的。 我知道什么 作为一个例子,这只是我想到的第一件事情。

如果通过REST进行交易是不可实现的,那么REST如何才能真正有用?

在研究REST的时候,可能有人会注意到的第一件事情是没有定义任何事务语义,有人说这是隐含地反对REST的,而另一些人则认为任何尝试这样做都会导致REST系统。 但是为了争辩起见,REST确实成为了stream行的“api”select,宇宙中的每个站点都开始暴露出平静的入口点。 如果没有交易行为,这些可用性究竟如何(我说的是无补偿的)? 因为在我看来,REST的好处之一就是它打破了数据的组成部分,这样你就可以打开它让智能客户端从多个服务组成数据(并添加和调整这些组合的数据)。 但是,如果我不能自己对这个数据组合进行更改,那么使用REST就变得毫无用处。 随着时间的推移以及对严肃的数据展示的需求的到来,我们需要的东西是:Simple(REST在那里获胜),并且支持事务行为,所以我们可以可靠地处理这些数据。 现在,我已经在我的研究中多次阅读了一个特定的论证,并且涉及到我们应该如何考虑REST中的事务,并且给出的示例是购物车,因为购物车隐含地具有隔离,因为购物车是你的。 然而,我不同意这个观点,首先,购物车的隔离仅仅是方便的,这不是一个交易隔离。如果我同时对我的购物车进行操作,而我的应用程序的某些部分正在读取数据从中? 我不希望我的应用程序的阅读部分看到“仍在交易中”的数据。 更不用说,并非所有的数据变化都有一个隐含的事务模型,多个服务上的事务处理肯定不会。 在我看来,事务需要发生,并且需要以使得实际的REST调用不知道事实的方式发生(添加到其余的有效负载是一个很大的否定,但添加标头是可以的)。 我已经阅读了一些关于如何通过REST创build事务模型的build议,并且一些正在编写的规范似乎是最近的。 有没有关于这个的真实想法? 不应该有比REST更多的东西,这样REST的简单性就可以用来抵御可靠的数据操作(“酸”交易)。 如果没有,我们是否真的想要赌注,并告诉服务开发者,如果他们想要在纯数据世界中进行交互,他们需要支持像肥皂这样可以说是单一的东西? 或者更糟的是尝试将自己的自定义事务支持构build到REST之类的东西中,使得每个服务都是非标准的并打破了REST的全部function? 在此先感谢您的任何想法。 编辑,添加简短的情况: 设想一个处理相册创build的客户表单,为了方便使用该相册,而不是要求用户给出艺术家资源的URI,他们可以从艺术家列表中select(最有可能从艺术家目录中获取) 。 为了便于使用,客户可以手动编写艺术家姓名,以便他们可以在发布场景中创build艺术家“内嵌”..客户端代码理解这一点,并且在发送请求创build相册之前,首先尝试确定如果艺术家已经存在,如果是的话,获得该艺术家的uri,否则创build艺术家,并获得艺术家uri。 然后,客户端代码继续创build相册,这是比平常更聪明的客户端,它不是坐​​在REST之上,“愚蠢”的发布,而是有一些交互处理纯粹的REST逻辑。 然而,在这种情况下,如果艺术家是首先创build的,那么保证艺术家不会被创build,除非专辑是创build的。 这不像交易所暗示的那样“关键”,但是它定义了客户端代码倾向于作为一个操作发生的一组工作(毕竟,它使得这看起来像对用户的单个操作)。 我在这个场景中看到的唯一指导就是让客户端在相册创build失败的情况下进行补偿操作,特别是打电话删除艺术家。 但这似乎有问题,因为客户假设艺术家是孤立的,尽可能不太可能,如果另一个客户已经“看到”该艺术家,并分配给它会发生什么? 这些是我对数据变化的担忧,虽然还有其他的差距(谁说艺术家不能在晚些时候被删除),那么这些行为是不透明的(即,行为不是自动的客户端,但用户特别要求的东西)。 我希望有助于阐明这个话题。

在编译时计算Cstring的长度。 这真的是一个constexpr?

我想在编译时计算string文字的长度。 为此,我使用以下代码: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } 一切都按预期工作,程序打印4和8.由clang生成的汇编代码显示结果是在编译时计算的: 0x100000f5e: leaq 0x35(%rip), %rdi ; "%d %d" 0x100000f65: movl $0x4, %esi 0x100000f6a: movl $0x8, %edx 0x100000f6f: xorl %eax, %eax 0x100000f71: callq 0x100000f7a ; symbol stub […]

具有alpha通道的颜色的hex表示?

是否有W3或任何其他值得注意的标准如何以hex格式表示颜色(包括alpha通道)? 是#RGBA还是#ARGB?

使用CSS自动添加“必填字段”星号来形成input

什么是克服这个代码不能按预期工作的不幸事实的好方法: <div class="required"> <label>Name:</label> <input type="text"> </div> <style> .required input:after { content:"*"; } </style> 在一个完美的世界里,所有需要的input都会得到一个星号,表示该字段是必需的。 这个解决scheme不可能,因为在元素内容之后插入CSS,而不是在元素本身之后插入,但是像这样的东西将是理想的。 在具有数千个必填字段的网站上,我可以将input前面的星号移到一行( :after :before ),或者我可以将它移到标签的末尾( .required label:after )或在标签的前面,或在包装盒上的位置等等。 这一点非常重要,不仅仅是因为我改变了我的想法,无论哪里都放置星号,而且对于格式布局不允许星号在标准位置的奇怪情况。 它也可以用于检查表单或突出显示不正确完成的控件的validation。 最后,它不会添加额外的标记。 有没有什么好的解决scheme具有不可能代码的全部或大部分优点?

检查空数组:计数vs空

这个关于“ 如何判断一个PHP数组是否为空 ”的问题让我想到了这个问题 当确定一个数组是否为empty时,是否有一个count应该被用来代替empty的原因? 我个人的想法是,如果2是相等的空数组的情况下,你应该使用empty因为它给布尔问题的布尔答案。 从上面链接的问题看来, count($var) == 0是stream行的方法。 对我而言,虽然技术上是正确的,但没有任何意义。 例如Q:$ var,你是空的吗? 答:7 。 嗯… 是否有一个原因,我应该使用count == 0或只是一个个人的品味问题? 正如其他人在一个已经被删除的答案的评论中指出的那样, count将会对大数组产生性能影响,因为它将不得不计算所有元素,而empty知道它一知道它不是空的就立即停下来。 所以,如果他们在这种情况下给出相同的结果,但count可能是低效的,为什么我们会用count($var) == 0 ?

Ruby中$ stdout和STDOUT的区别

在Ruby中, $stdout (之前是美元符号)和STDOUT (全部大写)之间有什么区别? 在做输出redirect时,应该使用哪个,为什么? $stderr和STDERR 。 编辑:刚刚find一个相关的问题 。