前段时间,在StackOverflow上有很高声望的人在评论中写道,在调用std::toupper (和类似的函数)之前,必须将char转换为unsigned char 。 另一方面,Bjarne Stroustrup没有提到在C ++编程语言中这样做的必要性。 他只是使用toupper string name = "Niels Stroustrup"; void m3() { string s = name.substr(6,10); // s = "Stroustr up" name.replace(0,5,"nicholas"); // name becomes "nicholas Stroustrup" name[0] = toupper(name[0]); // name becomes "Nicholas Stroustrup" } (从第四版的书中引用) 引用说input需要表示为unsigned char 。 对我来说这听起来像它适用于每个char因为char和unsigned char具有相同的大小。 那么这样的表演是不必要的还是Stroustrup不小心呢? 编辑: libstdc ++手册提到input字符必须来自基本的源字符集 ,但不会投。 我猜这是由@Keith Thompson的答复所覆盖,他们都有一个积极的代表作为signed char和unsigned char […]
在循环遍历Python中的列表时,我无法修改没有列表理解的元素。 以供参考: li = ["spam", "eggs"] for i in li: i = "foo" li ["spam", "eggs"] li = ["foo" for i in li] li ["foo", "foo"] 那么,为什么我不能通过Python中的循环来修改元素呢? 肯定有一些我错过了,但我不知道是什么。 我相信这是重复的,但我无法find一个关于这个问题的问题,如果有一个链接,这将是绰绰有余。 先谢谢你!
在JavaScript中, var声明在全局对象上创build属性: var x = 15; console.log(window.x); // logs 15 in browser console.log(global.x); // logs 15 in Node.js ES6引入了具有块范围的声明的词法范围。 let x = 15; { let x = 14; } console.log(x); // logs 15; 但是,这些声明是否会在全局对象上创build属性? let x = 15; // what is this supposed to log in the browser according to ES6? console.log(window.x); // 15 in […]
在这个简化的例子中,我有一个generics的类和一个返回一个Map的方法,而不pipetypes参数。 为什么当我没有在包含类中指定types时,编译器会擦除地图上的types? import java.util.Map; public class MyClass<T> { public Map<String, String> getMap() { return null; } public void test() { MyClass<Object> success = new MyClass<Object>(); String s = success.getMap().get(""); MyClass unchecked = new MyClass(); Map<String, String> map = unchecked.getMap(); // Unchecked warning, why? String s2 = map.get(""); MyClass fail = new MyClass(); String s3 = […]
在我看到的大部分代码中(在SO上,codeproject.com和我倾向于在我自己的代码中这样做),我已经看到公共属性是为类中包含的每个专用字段创build的,即使它们是最get; set;基本typesget; set; get; set; 喜欢: private int myInt; public int MyInt { get { return myInt; } set { myInt = value } } 我的问题是:这与以下不同: public int MyInt; 如果我们应该使用属性,而不是公共领域,为什么我们应该在这个特定的情况下使用它们? (我不是在讨论更复杂的例子,在这些例子中,getter和setter实际上做了一些特殊的事情,或者只有一个get或set(只读/写)而不是返回/设置一个私有字段的值。 它似乎没有添加任何额外的封装,只有在智能感知中提供一个很好的图标,并放置在类图的特殊部分!
我遇到了一个问题。 我的图片太大,所以放大了相应的JMenuItem。 我不想发展自行车 ImageIcon image = new ImageIcon(new ImageIcon("/home/template/img.jpg") .getImage().getScaledInstance(32, 32, Image.SCALE_DEFAULT)); 有没有其他办法可以做到这一点?
希望在两个不同的文本文件上执行内部连接。 基本上我正在寻找GNU连接程序的内部连接等价物。 这样的事情是否存在? 如果不是, awk或sed解决scheme将是最有帮助的,但我的第一个select将是一个Linux命令。 这里是我正在寻找的一个例子 文件1: 0|Alien Registration Card LUA|Checklist Update 1|Alien Registration Card LUA|Document App Plan 2|Alien Registration Card LUA|SA Application Nbr 3|Alien Registration Card LUA|tmp_preapp-DOB 0|App – CSCE Certificate LUA|Admit Type 1|App – CSCE Certificate LUA|Alias 1 2|App – CSCE Certificate LUA|Alias 2 3|App – CSCE Certificate LUA|Alias 3 4|App – CSCE […]
在阅读了这篇精美的文章 (“编译头文件的关心和喂养”)之后,我对这些文章在现实生活中如何工作有些怀疑。 更具体地说,我怎么能知道我需要在以下情况下触发重新编译的头文件: 我决定在我的一个.cpp文件中定义一些东西,它改变了预处理器解释已经包含在我的预编译头文件中的一些头文件 我在其中一个.cpp文件中包含另一个头文件,它定义了一个特定的预处理器指令,用于改变预处理器解释已包含在预编译头文件中的头文件的方式 更糟糕的是,以前的问题可以recursion地发生,当某些头文件#include其他头文件 预编译的头文件的使用是否强制执行某种限制性的编码风格,如将.cpp文件中包含的头文件的数量限制为1,而不是在.cpp文件中定义文件? 虽然微软的编译器可能在预编译的头文件(通过应用一些特定于MS的巫术工具)上做了一个体面的工作,因为据我所知,它提供了应该做所有pipe道的/Yc和/Yu选项,对于GCC看起来这个function在Makefile中需要大量的手工工作和创造性,而且我无法find一个模板来解决所有使用预编译头文件的缺陷。 例如,如果我有一个build立几个库的项目,为了在每次更改之后不重build所有的库,我必须在Makefile中使用一些非常可爱的sed技巧来检测是否有一个标头#include d库被修改了(或者#include一个修改的头文件)。 我害怕甚至想到预构build头文件实际上意味着为了使构build脚本在每次必要时重build它们的复杂性。
我想在一个stringfilter工作中得到这个方法: public function truncate($string, $chars = 50, $terminator = ' …'); 我期待这一点 $in = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ1234567890"; $out = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV …"; 也是这个 $in = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝ"; $out = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđ …"; 那就是$chars减去$terminatorstring的字符。 此外,filter应该在$chars限制之下的第一个字边界处切割,例如 $in = "Answer to the Ultimate Question of Life, the Universe, and Everything."; $out = "Answer to the Ultimate Question of Life, the …"; 我很确定这应该与这些步骤一起工作 从最大字符中减去终止符中的字符数量 […]
我想通过使用下面的代码获取全局variables中的数据: var data; d3.json ( "file.json" , function(json) { data = json; console.log(data); //defined }); console.log(data); //undefined 但问题是,我只是在d3.json函数中定义的数据variables,但它是未定义的。 我怎么能解决这个问题? 谢谢