Tag: 标准

如何在连接和基于行的限制(分页)中获得不同的结果?

我试图使用基于行的限制(例如: setFirstResult(5)和setMaxResults(10) )对已经连接到其他表的Hibernate Criteria查询实现分页。 可以理解的是,数据随机被切断; 原因在这里解释。 作为解决scheme,页面build议使用“第二个sql select”而不是联接。 如何将我现有的标准查询(使用createAlias()连接)转换为使用嵌套的select?

为什么一个无名的命名空间是静态的“优越”select?

C ++标准中的$ 7.3.1.1 / 2节读取: 在名称空间范围内声明对象时,不推荐使用static关键字; 无名命名空间提供了一个优越的select。 我不明白为什么一个无名的命名空间被认为是一个优越的select? 基本原理是什么? 我已经知道标准所说的很长一段时间了,但是我从来没有认真考虑过这个问题,即使我回答了这个问题: 无名的命名空间比静态的优越性? 它被认为是优越的,因为它也可以应用于用户定义的types,正如我在我的答案中所述 ? 或者还有其他一些原因,我不知道? 我在问这个问题,特别是因为这是我的答案,而标准可能还有别的想法。

标准库容器与额外的可选模板参数?

在文章中多次阅读索赔 – 我想将此问题添加到Stackoverflow,并要求社区 – 是下面的代码可移植? template<template<typename T, typename Alloc> class C> void f() { /* some code goes here … */ } int main() { f<std::vector>(); } 提供std::vector的实现是否真的允许超出两个众所周知的额外的默认模板参数? 这会使上面的代码格式不正确,因为它假定有两个模板参数。 有关这种索赔的示例,请参阅本文的最后一段。

可以符合C实现#define NULL是古怪的东西

我在问这个问题是因为在这个线程中引发的讨论。 尝试在别人的回复下使用评论进行认真的来回讨论并不容易或有趣。 所以我想听听C专家们的想法,而不是一次只限于500个字符。 C标准对于NULL和空指针常量有几句宝贵的意思。 我只能find两个相关的部分。 第一: 3.2.2.3指针 值为0的整型常量expression式,或者types为void *的强制转换expression式称为空指针常量。 如果将一个空指针常量赋值给一个指针,或者将其与一个指针进行比较,则该常量将转换为该types的指针。 这样一个叫做空指针的指针保证将不等于指针的任何对象或函数进行比较。 第二: 4.1.5通用定义 macros是 NULL 它扩展为一个实现定义的空指针常量; 问题是, NULL可以扩展到一个实现定义的空指针常量,它与3.2.2.3中枚举的不同。 特别是可以定义为: #define NULL __builtin_magic_null_pointer 甚至: #define NULL ((void*)-1) 我对3.2.2.3的理解是它指定了一个整型常量expression式0和一个types为void *的0型整型常量expression式必须是实现可识别的空指针常量的forms,但它不是本来是一个详尽的清单。 我相信,只要没有其他规则被破坏,实现可以自由地将其他源结构识别为空指针常量。 举个例子,这是可以certificate的 #define NULL (-1) 不是一个合法的定义,因为在 if (NULL) do_stuff(); do_stuff()不能被调用,而用 if (-1) do_stuff(); 必须调用do_stuff() ; 因为它们是等价的,所以这不能成为NULL的合法定义。 但是标准说整数到指针的转换(反之亦然)是实现定义的,因此它可以定义将-1转换为指针,作为产生空指针的转换。 在这种情况下 if ((void*)-1) 会评价为假,一切都会好的。 那么其他人怎么看? 我要求大家特别记住2.1.2.3 Program execution描述的“如果”规则。 这是巨大的,有些迂回,所以我不会在这里粘贴它,但是它基本上说,一个实现只需要产生与标准描述的抽象机器所需的相同的可观察的副作用。 它表示,只要程序的可观察的副作用不被它们改变,任何优化,转换或编译器想要对程序执行的任何操作都是完全合法的。 […]

url空间?

w3fools声称URL可以包含空格: http : //w3fools.com/#html_urlencode 这是真的? 一个URL如何包含一个未编码的空间? 我感觉HTTP请求的请求行使用空格作为分隔符,格式为{the method}{space}{the path}{space}{the protocol} : GET /index.html http/1.1 那么URL如何包含一个空格呢? 如果可以的话,用+代替空格的做法是从哪里来的?

是无符号整数减法定义的行为?

我遇到过一些人的代码,他们似乎认为在结果为负数时,从另一个相同types的整数中减去一个无符号整数是有问题的。 所以这样的代码即使发生在大多数架构上也不正确。 unsigned int To, Tf; To = getcounter(); while (1) { Tf = getcounter(); if ((Tf-To) >= TIME_LIMIT) { break; } } 这是我能find的C标准中唯一相关的引用。 涉及无符号操作数的计算永远不会溢出,因为无法用结果无符号整数types表示的结果被减less的模数大于可由结果types表示的最大值的数。 我想可以把这个引号的意思是,当右操作数较大时,操作被调整为在模截断数的上下文中是有意义的。 即 0x0000 – 0x0001 == 0x 1 0000 – 0x0001 == 0xFFFF 而不是使用实现相关的签名语义: 0x0000 – 0x0001 ==(无符号)(0 + -1)==(0xFFFF也是0xFFFE或0x8001) 哪个或哪个解释是正确的? 它是否定义?

hibernate标准:没有映射关联的连接表

我想使用Hibernate的标准API来制定一个连接两个实体的特定查询。 比方说,我有两个实体,宠物和拥有者拥有多个宠物的所有者,但关键的是该关联没有映射到Java注释或XML中。 通过hql,我可以通过在查询中指定连接(而不是将一组宠物添加到所有者类)来select拥有名为“fido”的宠物的所有者。 同样可以使用hibernate条件吗? 如果这样怎么样? 谢谢,J

对于开发C#编码标准/最佳实践文档有什么build议吗?

我是一个近期的AIgradle生(大约2年),为一个适度的运作。 它已经落在了我的头上(主要是因为我是该部门的第一个“采用者”)来创build一个基本的(读取有用的)C#编码标准文档。 我想我应该解释一下,我可能是最初级的软件工程师,但是我期待着这个任务,希望我能够生产出一半可用的东西。 我已经做了相当广泛的互联网search,并阅读关于什么编码标准文件应该/不应该包含的文章。 这似乎是一个很好的地方,任何要求一些build议。 我意识到,我正潜在地打开一扇关于“做事的最佳方式”的整个世界的不同意见。 我都理解和尊重每个程序员都有解决每个任务的首选方法这个不可否认的事实,因此我不想写任何如此严格的规范性的东西来扼杀个人的天赋,而是试图获得一般的方法论,并且同意标准(例如命名约定)来帮助使个人代码更具可读性。 所以这里去….任何build议? 任何呢?

JPA和Hibernate – Criteria与JPQL或HQL

使用Criteria或HQL有什么优点和缺点? Criteria API是在Hibernate中expression查询的一种很好的面向对象的方式,但是有时候Criteria Queries比HQL更难理解/构build。 你什么时候使用Criteria和HQL? 你喜欢哪种用例? 还是仅仅是品味的问题?

SQL标准对于反引用(`)的用法是什么?

一旦我花了几个小时在PHP/MySQL使用mysql_query()来debugging一个简单的SQL查询,才意识到我错过了表名的凑钱。 从那以后,我一直在围绕表名使用它。 但是,当我在SQLite/C++使用相同的,符号甚至不被识别。 这是否令人困惑,是否使用这个? 标准对使用它有什么意义? 另外,如果有人能告诉我什么时候使用引号,什么时候不使用引号,这将是有帮助的。 我的意思是围绕着价值和字段名称。