从std :: cin读取密码

我需要从标准输入读取密码,并希望std::cin不要回显用户键入的字符… 我怎样才能禁用从std :: cin的回声? 这里是我目前使用的代码: string passwd; cout << "Enter the password: "; getline( cin, passwd ); 我正在寻找一种操作系统不可知的方式来做到这一点。 这里有两种方法可以在Windows和* nix中执行此操作。

如何在Java中连接两个字符串?

我想连接Java中的字符串。 为什么这不起作用? public class StackOverflowTest { public static void main(String args[]) { int theNumber = 42; System.out.println("Your number is " . theNumber . "!"); } }

我可以使用jQuery打开一个下拉列表吗?

对于HTML中的这个下拉列表: <select id="countries"> <option value="1">Country</option> </select> 我想打开列表(与左键单击相同)。 这是可能的使用JavaScript(或更具体的jQuery)?

Java与两个字符串==比较是错误的?

字符串部分是字符串[6]: [“231”,“CA-California”,“Sacramento-155328”,“aleee”,“客户服务文员”,“Alegra Keith.doc.txt”] 但是当我比较parts[0]和"231" : "231" == parts[0] 以上结果是错误的, 我很困惑,所以有人可以告诉我为什么?

git子模块更新只需要最初?

我得到了一堆git submodule(一厢情愿的想法?),我想出了更具体的问题,这是一个好兆头… 我试图找到超级项目所指的子模块的修订版本,在.gitmodules和.git/config ,但没有提到那里… 该场景是,我正在改变他们的根地点(从中导入)的子模块,然后把他们拉到他们“submoduled”的地方… 除了从超级项目提交将这些更改合并到超级项目回购,我还需要做“ git update ”注册新的拉入子模块提交? 基本上问题是: 只有当我第一次克隆超级项目,或每次拉动子模块(从它自己的回购)之后,才需要“ git submodule update ”? 谢谢

自反传递闭包的定义

许多谓词本质上使用某种形式的传递闭包,只是发现终止也必须被解决。 为什么不用closure0/3解决这个问题closure0/3 : :- meta_predicate closure0(2,?,?). :- meta_predicate closure(2,?,?). :- meta_predicate closure0(2,?,?,+). % internal closure0(R_2, X0,X) :- closure0(R_2, X0,X, [X0]). closure(R_2, X0,X) :- call(R_2, X0,X1), closure0(R_2, X1,X, [X1,X0]). closure0(_R_2, X,X, _). closure0(R_2, X0,X, Xs) :- call(R_2, X0,X1), non_member(X1, Xs), closure0(R_2, X1,X, [X1|Xs]). non_member(_E, []). non_member(E, [X|Xs]) :- dif(E,X), non_member(E, Xs). 有没有这个定义不能用于实现传递闭包的情况? 为什么dif / 2? 要详细回答@ […]

带有prependId =“false”的UIForm中断<f:ajax render>

我对这个事实背后的想法有个疑问,那就是只有UIForm得到了prependId属性。 为什么在NamingContainer接口中没有指定属性? 您现在可能会说这是因为向后兼容性,但我宁愿打破compability,让实现该接口的用户也实现prependId事物的方法。 从我的观点来看,关于UIForm组件中的UIForm的主要问题是,它会打破findComponent()我期望,如果我使用prependId ,那么NamingContainer行为将改变,不仅涉及到渲染,而且还希望搜索组件树中的组件。 这里有个简单的例子: <h:form id="test" prependId="false"> <h:panelGroup id="group"/> </h:form> 现在,当我想要得到panelGroup组件,我希望传递字符串"group"到方法findComponent() ,但它不会找到任何东西,我不得不使用"test:group" 。 具体的问题是,使用prependId="false"时使用ajax。 ajax标签期望在属性更新和过程中,值关心命名容器。 有一点奇怪,当我使用prependId="false" ,我必须指定完整的id或路径,但是没关系。 <h:form id="test" prependId="false"> <h:panelGroup id="group"/> </h:form> <h:form id="test1" prependId="false"> <h:commandButton value="go"> <f:ajax render="test:group"/> </h:commandButton> </h:form> 那么这段代码将呈现没有问题,但它不会更新panelGroup,因为它找不到它。 PartialViewContext将仅包含作为renderIds元素的id "group" 。 我不知道这是否预期,可能是但我不知道的代码。 现在我们来到findComponent()方法找不到组件的地方,因为作为参数传递的表达式是方法期望"test:group"查找组件的"test:group" 。 一种解决方法是编写你自己的findComponent() ,这是我选择处理这个问题的方式。 在这个方法中,我处理一个NamingContainer组件,并且像普通的UIComponent一样将属性prependId设置为false。 我将不得不为每个提供prependId属性的UIComponent都这样做,这是不好的。 反射将有助于解决类型的静态定义,但它仍然不是一个真正干净的解决方案。 另一种方法是在NamingContainer接口中引入prependId属性,并改变findComponent()的行为以像上面描述的那样工作。 最后提出的解决方案是改变ajax标签的行为来传递整个id,但这只会解决ajax问题,而不是findComponent()实现背后的程序性问题。 你怎么看待这个问题?为什么这个问题会被实现? 我不能成为第一个有这个问题,但我无法找到相关的主题?!

如何在Java中正确覆盖toString()?

听起来有点愚蠢,但我需要帮助我的toString()方法,这是非常irking。 我尝试在网上查找,因为toString是搞砸了,“没有找到Kid构造函数#2”,即使它在那里,我甚至会做别的,它不工作。 好的,这是我的代码: import java.util.*; class Kid { String name; double height; GregorianCalendar bDay; public Kid () { this.name = "HEAD"; this.height = 1; this.bDay = new GregorianCalendar(1111,1,1); } public Kid (String n, double h, String date) { // method that toString() can't find somehow StringTokenizer st = new StringTokenizer(date, "/", true); n = this.name; […]

正则表达式来匹配网址

我正在使用下面的正则表达式来匹配一个URL: $search = "/([\S]+\.(MUSEUM|TRAVEL|AERO|ARPA|ASIA|COOP|INFO|NAME|BIZ|CAT|COM|INT|JOBS|NET|ORG|PRO|TEL|AC|AD|AE|AF|AG|AI|AL|AM|AN|AO|AQ|AR|AS|AT|AU|au|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BL|BM|BN|BO|BR|BS|BT|BV|BW|BY|BZ|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EDU|EE|EG|EH|ER|ES|ET|EU|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GOV|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|IO|IQ|IR|IS|IT|JE|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MF|MG|MH|MIL|MK|ML|MM|MN|MO|MOBI|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|ST|SU|SV|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TL|TM|TN|TO|R|H|TP|TR|TT|TV|TW|TZ|UA|UG|UK|UM|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|YE|YT|YU|ZA|ZM|ZW)([\S]*))/i"; 但它有点搞砸了,因为它也匹配我不想要的“abc.php”。 和一些像ABC …测试。 我希望它匹配abc.com虽然。 和www.abc.com以及http://abc.com 。 这只是需要稍微调整,但我不知道是什么。 (应该有一个斜线后的任何域名,它现在没有检查,它只是检查\ S) 感谢您的时间。

ES6是否为对象属性引入了明确定义的枚举顺序?

ES6是否为对象属性引入了明确定义的枚举顺序? var o = { '1': 1, 'a': 2, 'b': 3 } Object.keys(o); // ["1", "a", "b"] – is this ordering guaranteed by ES6? for(let k in o) { console.log(k); } // 1 2 3 – is this ordering guaranteed by ES6?