小编eml*_*lai的帖子

621
推荐指数
17
解决办法
33万
查看次数

对std :: vector的迭代:unsigned vs signed index变量

在C++中迭代向量的正确方法是什么?

考虑这两个代码片段,这个工作正常:

for (unsigned i=0; i < polygon.size(); i++) {
    sum += polygon[i];
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

for (int i=0; i < polygon.size(); i++) {
    sum += polygon[i];
}
Run Code Online (Sandbox Code Playgroud)

产生warning: comparison between signed and unsigned integer expressions.

我是C++世界的新手,所以unsigned变量对我来说有点可怕,我知道unsigned如果使用不正确,变量会很危险,所以 - 这是正确的吗?

c++ unsigned signed stl

452
推荐指数
10
解决办法
75万
查看次数

如何检查元素是否在数组中

在Swift中,如何检查数组中是否存在元素?Xcode中没有任何建议contain,includehas和经书的快速搜索却一无所获.知道怎么检查这个吗?我知道有一个方法find可以返回索引号,但是有一个方法可以返回像ruby这样的布尔值#include?吗?

我需要的例子:

var elements = [1,2,3,4,5]
if elements.contains(5) {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

arrays swift

451
推荐指数
11
解决办法
35万
查看次数

prepended double colon"::"是什么意思?

我在类中找到了这行代码,我必须修改它:

::Configuration * tmpCo = m_configurationDB;//pointer to current db
Run Code Online (Sandbox Code Playgroud)

而且我不知道究竟是什么意思是双重冒号前面的类名.没有它我会读:声明tmpCo作为指向类的对象的指针Configuration...但前面的双冒号混淆了我.

我还发现:

typedef ::config::set ConfigSet;
Run Code Online (Sandbox Code Playgroud)

c++ syntax namespaces scope-resolution global-namespace

383
推荐指数
8
解决办法
19万
查看次数

如何在Swift中打印变量的类型或类?

有没有办法在swift中打印变量的运行时类型?例如:

var now = NSDate()
var soon = now.dateByAddingTimeInterval(5.0)

println("\(now.dynamicType)") 
// Prints "(Metatype)"

println("\(now.dynamicType.description()")
// Prints "__NSDate" since objective-c Class objects have a "description" selector

println("\(soon.dynamicType.description()")
// Compile-time error since ImplicitlyUnwrappedOptional<NSDate> has no "description" method
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我正在寻找一种方法来显示变量"很快"是类型ImplicitlyUnwrappedOptional<NSDate>,或至少NSDate!.

types swift

325
推荐指数
16
解决办法
20万
查看次数

如何在Xcode中格式化代码?

我想知道如何格式化我的代码以使其整齐排列?它是否具有类似于Eclipse的功能ctrlshiftf

format xcode code-formatting keyboard-shortcuts

234
推荐指数
4
解决办法
16万
查看次数

如何在Python中获取字符串的大小?

例如,我得到一个字符串:

str = "please answer my question"
Run Code Online (Sandbox Code Playgroud)

我想把它写到一个文件.

但是在将字符串写入文件之前,我需要知道字符串的大小.我可以用什么函数来计算字符串的大小?

python string string-length

145
推荐指数
3
解决办法
32万
查看次数

在std :: map和std :: unordered_map之间进行选择

现在std有一个真正的哈希映射unordered_map,为什么(或何时)我还想在它实际存在的系统上使用旧的mapover unordered_map?是否有任何我无法立即看到的明显情况?

c++ hash unordered-map map c++11

130
推荐指数
5
解决办法
9万
查看次数

-std = c ++ 11和-std = gnu ++ 11之间有什么区别?

之间有什么区别-std=c++11-std=gnu++11GCC和铿锵的编译参数?同样的问题c99gnu99?我了解C++和C标准,这是我感兴趣的参数差异.

我已经读到某处与某些扩展有关但我不清楚哪些扩展以及如何在新项目之间进行选择.

c++ gcc clang c++11

117
推荐指数
1
解决办法
5万
查看次数

何时使用通用方法以及何时使用通配符?

我正在阅读OracleDocGenericMethod中的泛型方法.当它说何时使用通配符以及何时使用通用方法时,我对比较感到非常困惑.引用文件.

interface Collection<E> {
    public boolean containsAll(Collection<?> c);
    public boolean addAll(Collection<? extends E> c);
}
Run Code Online (Sandbox Code Playgroud)

我们可以在这里使用泛型方法:

interface Collection<E> {
    public <T> boolean containsAll(Collection<T> c);
    public <T extends E> boolean addAll(Collection<T> c);
    // Hey, type variables can have bounds too!
}
Run Code Online (Sandbox Code Playgroud)

[...]这告诉我们类型参数被用于多态; 它唯一的作用是允许在不同的调用站点使用各种实际的参数类型.如果是这种情况,则应使用通配符.通配符旨在支持灵活的子类型,这是我们在此尝试表达的内容.

难道我们不认为外卡(Collection<? extends E> c);也支持那种多态?那为什么泛型方法的使用被认为不好呢?

继续向前,它说,

通用方法允许使用类型参数来表示方法和/或其返回类型的一个或多个参数的类型之间的依赖关系.如果没有这种依赖关系,则不应使用通用方法.

这是什么意思?

他们提出了这个例子

class Collections {
    public static <T> void copy(List<T> dest, List<? extends T> src) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

[...]

我们可以用另一种方式为这种方法编写签名,而不使用通配符:

class Collections {
    public static <T, S extends …
Run Code Online (Sandbox Code Playgroud)

java generics wildcard

115
推荐指数
3
解决办法
5万
查看次数