小编Cha*_*han的帖子

qsort vs std :: sort的表现?

根据Scott Meyers的说法,在他的Effective STL书中 - 第46项.他声称这std::sortstd::qsort内联的事实要快670%.我测试了自己,我看到qsort更快:(!有谁可以帮我解释这个奇怪的行为?

#include <iostream>
#include <vector>
#include <algorithm>

#include <cstdlib>
#include <ctime>
#include <cstdio>

const size_t LARGE_SIZE = 100000;

struct rnd {
    int operator()() {
        return rand() % LARGE_SIZE;
    }
};

int comp( const void* a, const void* b ) {
    return ( *( int* )a - *( int* )b );
}

int main() {
    int ary[LARGE_SIZE];
    int ary_copy[LARGE_SIZE];
    // generate random data
    std::generate( ary, ary + LARGE_SIZE, rnd() );
    std::copy( ary, ary …
Run Code Online (Sandbox Code Playgroud)

c++ sorting performance stl

70
推荐指数
6
解决办法
6万
查看次数

如何在Windows上更新MinGW中的GCC?

我习惯在Ubuntu之前从源代码手动安装GCC,这是一个痛苦的过程.所以我真的不想重复这个过程.目前,我的机器上安装了MinGW和GCC(4.6.2).那么有没有一种简单的方法来更新GCC而不是完全从源代码构建它?有人做过之前可以分享一些提示吗?

c++ gcc mingw c++11

59
推荐指数
4
解决办法
6万
查看次数

Ruby有堆栈,队列,链表,地图或集合等容器吗?

我在网上检查了几个Ruby教程,他们似乎都在使用数组.那么如何在Ruby中实现以下数据结构呢?

  • 堆栈
  • 队列
  • 链接列表
  • 地图

ruby

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

如何在C#中获取私有字段的值?

我遇到了一个问题,我需要访问一个类的私有字段.例如:

class MyClass 
{
    private string someString;

    public MyClass( string someStringValue )
    {
        someString = someStringValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在MyClass之外获取someString的值?

更新:

对不起,我不能在这里使用属性,因为实际的生产代码是受保护的.我是一名质量保证/开发人员,我需要一种方法让那些私人用于编写用户验收测试.所以我无法改变生产代码.你能帮我吗?

c#

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

如何在Ruby中删除满足数组条件的所有元素?

我怎样才能在Ruby中实现它?有没有一行代码技术?假设我想摆脱小于3的整数数组的所有元素.

ruby

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

ifstream的eof()如何工作?

#include <iostream>
#include <fstream>

int main() {
    std::fstream inf( "ex.txt", std::ios::in );
    while( !inf.eof() ) {
        std::cout << inf.get() << "\n";
    }
    inf.close();
    inf.clear();
    inf.open( "ex.txt", std::ios::in );
    char c;
    while( inf >> c ) {
        std::cout << c << "\n";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我真的很困惑eof()功能.假设我的ex.txt的内容是:

abc
Run Code Online (Sandbox Code Playgroud)

它总是读取一个额外的字符,并-1在阅读时显示eof().但是inf >> c给出了'abc'的正确输出?任何人都可以帮我解释一下吗?

c++ ifstream eof

40
推荐指数
3
解决办法
13万
查看次数

Lambda Expression vs Functor in C++

我想知道在C++中我们应该在functor中使用lambda表达式.对我来说,这两种技术基本相同,甚至算法也比lambda更优雅,更清洁.例如,如果我想重用我的谓词,我必须一遍又一遍地复制lambda部分.所以lambda什么时候真正进入?

c++ lambda

39
推荐指数
4
解决办法
2万
查看次数

如何使用istringstream与其他分隔符分割字符串而不是空白?

以下技巧istringstream用于分割带有空格的字符串.

int main() {
    string sentence("Cpp is fun");
    istringstream in(sentence);
    vector<string> vec = vector<string>(istream_iterator<string>(in), istream_iterator<string>());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是否有类似的技巧来分割带any分隔符的字符串?例如,|在"Cpp | is | fun"中.

c++

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

std,tr1和boost之间有什么区别(作为命名空间和/或库)?

我最初认为他们都是一样的,但事实证明是错的.那么有人可以简单地解释这三者之间的差异吗?例如:

  1. std::bind (最新一代,下一代C++)
  2. std::tr1::bind (旧的,C++ std的扩展)
  3. boost::bind (完全独立的图书馆)

或者std::shared_ptr,std::tr1::shared_ptrboost::shared_ptr,...等

更新

bind,shared_ptr是有助于澄清我的问题的例子.我的目的是了解这三个命名空间之间的一般差异.所有三个名称空间中都有几个库,显然bind是一个例子,以及shared_ptr.

我应该坚持哪些名称空间?我个人更喜欢库,std::因为它将成为C++的下一个标准(C++ 0x).

c++ boost tr1 c++11

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

实现AsyncTask的正确方法是什么?静态或非静态嵌套类?

Android示例中的"Login"实现AsyncTask为非静态内部类.然而,根据Commonsguys,这个类应该是静态的,并使用弱参考外部活动看到这个.

那么实施的正确方法是AsyncTask什么?静态还是非静态?

Commonsguy Implementation
https://github.com/commonsguy/cw-android/tree/master/Rotation/RotationAsync/

从Google登录示例

package com.example.asynctaskdemo;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;

/**
 * Activity which displays a login screen to the user, offering registration as
 * well.
 */
public class LoginActivity extends Activity {
    /**
     * A dummy authentication store containing known user names and passwords.
     * TODO: remove …
Run Code Online (Sandbox Code Playgroud)

java android asynchronous android-asynctask

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×6

c++11 ×2

ruby ×2

android ×1

android-asynctask ×1

asynchronous ×1

boost ×1

c# ×1

eof ×1

gcc ×1

ifstream ×1

java ×1

lambda ×1

mingw ×1

performance ×1

sorting ×1

stl ×1

tr1 ×1