问题列表 - 第1页

為什麼處理排序數組比處理未排序數組更快?

這是一段 C++ 代碼,它顯示了一些非常特殊的行為。出於某種奇怪的原因,對數據進行排序奇蹟般地使代碼快了近六倍:

#include <algorithm>
#include <ctime>
#include <iostream>

int main()
{
    // Generate data
    const unsigned arraySize = 32768;
    int data[arraySize];

    for (unsigned c = 0; c < arraySize; ++c)
        data[c] = std::rand() % 256;

    // !!! With this, the next loop runs faster.
    std::sort(data, data + arraySize);

    // Test
    clock_t start = clock();
    long long sum = 0;

    for (unsigned i = 0; i < 100000; ++i)
    {
        // Primary loop
        for (unsigned c = 0; c < …

c++ java optimization performance branch-prediction

23665
推荐指数
26
解决办法
1.4 百萬
查看次数

如何撤消 Git 中最近的本地提交?

我不小心將錯誤的文件提交到Git,但我還沒有將提交推送到服務器。

如何從本地存儲庫撤消這些提交?

git version-control undo pre-commit git-commit

20327
推荐指数
88
解决办法
8.3 百萬
查看次数

如何在本地和遠程刪除 Git 分支?

我想在本地和遠程刪除一個分支。

嘗試刪除遠程分支失敗

$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.

$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.

$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).

$ git push
Everything up-to-date

$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.

remotes/origin/bugfix為了在本地和遠程成功刪除分支,我應該做些什麼不同的事情 ?

git version-control git-push git-remote git-branch

16311
推荐指数
41
解决办法
7.8 百萬
查看次数

“git pull”和“git fetch”有什麼區別?

版主注意:鑑於該問題已經發布了67 個答案(其中一些已被刪除),請在發布另一個答案之前考慮您是否提供了任何新內容。

git pull和 和有什麼區別git fetch

git version-control git-pull git-fetch

11447
推荐指数
40
解决办法
2.7 百萬
查看次数

什麼是正確的 JSON 內容類型?

一段時間以來,我一直在搞亂JSON,只是將其作為文本推出,並沒有傷害任何人(據我所知),但我想開始正確地做事。

我已經看到許多聲稱的 JSON 內容類型的“標準”:

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

但是哪一個是正確的,還是最好的?我收集到它們之間存在不同的安全和瀏覽器支持問題。

我知道有一個類似的問題,如果 JSON 由 REST API 返回,什麼 MIME 類型?,但我想要一個更有針對性的答案。

json content-type http-headers

9962
推荐指数
35
解决办法
2.6 百萬
查看次数

“yield”關鍵字有什麼作用?

yieldPython中關鍵字的用途是什麼?它有什麼作用?

例如,我試圖理解這段代碼1

def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild  

這是調用者:

result, candidates = [], [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
    candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
return result

調用方法時會發生什麼_get_child_candidates?是否返回列表?單一元素?又叫了嗎?後續調用何時停止?


1. 這段代碼由 Jochen Schulz (jrschulz) 編寫,他為度量空間製作了一個很棒的 Python 庫。這是完整源代碼的鏈接:Module mspace

python iterator yield generator coroutine

9664
推荐指数
39
解决办法
2.1 百萬
查看次数

什麼是 C++ 中的“--&gt;”運算符?

在閱讀Hidden Features and Dark Corners of C++/STL oncomp.lang.c++.moderated之後,我完全驚訝於以下代碼片段在 Visual Studio 2008 和 G++ 4.4 中編譯和工作。

這是代碼:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}

我假設這是 C,因為它也適用於 GCC。這在標準中是哪裡定義的,它是從哪裡來的?

c++ code-formatting standards-compliance operators

8590
推荐指数
24
解决办法
751067
查看次数

如何在提交之前撤消“git add”?

我錯誤地使用以下命令將文件添加到 Git:

git add myfile.txt

我還沒跑git commit。有沒有辦法撤消這個,所以這些文件不會包含在提交中?

git version-control git-commit git-stage

8567
推荐指数
34
解决办法
2.9 百萬
查看次数

如何重命名本地 Git 分支?

我不想重命名遠程分支,如Rename master branch for both local and remote Git repositories中所述。

如何重命名尚未推送到遠程分支的本地分支?

如果您還需要重命名遠程分支:
如何同時重命名 Git 本地和遠程分支名稱

git version-control git-branch

8033
推荐指数
30
解决办法
2.7 百萬
查看次数

堆棧和堆是什麼以及在哪裡?

編程語言書籍解釋了值類型是在堆棧上創建的,而引用類型是在堆上創建的,但沒有解釋這兩個東西是什麼。我還沒有閱讀對此的明確解釋。我明白什麼是堆棧。但,

  • 它們在哪裡,是什麼(物理上在真實計算機的內存中)?
  • 它們在多大程度上受操作系統或語言運行時的控制?
  • 他們的範圍是什麼?
  • 是什麼決定了它們每個的大小?
  • 是什麼讓一個更快?

language-agnostic heap stack memory-management dynamic-memory-allocation

7847
推荐指数
25
解决办法
1.5 百萬
查看次数