小编soa*_*dos的帖子

列表视图项目未显示

listview1.View = View.Details当我添加项目时使用我的listview会扩展(生成滚动条)但是让它们不可见,这是有原因的listview1.View = View.List吗?但是当我将它切换到它时工作得很好吗?

并不是说我觉得它真的很重要,但这里是我用来向listview添加项目的代码:

     ListViewItem item1 = new ListViewItem(file[1]);
     listView1.Items.Add(item1);
Run Code Online (Sandbox Code Playgroud)

和自动生成的设计师代码:

        // 
        // listView1
        // 
        this.listView1.CheckBoxes = true;
        this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
        this.Path});
        this.listView1.Location = new System.Drawing.Point(12, 44);
        this.listView1.Name = "listView1";
        this.listView1.Size = new System.Drawing.Size(457, 354);
        this.listView1.TabIndex = 7;
        this.listView1.UseCompatibleStateImageBehavior = false;
        this.listView1.View = System.Windows.Forms.View.Details;
Run Code Online (Sandbox Code Playgroud)

file是一个字符串数组,在第一个元素中包含大约50个奇数字符(使用调试器检查).

c# listview

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

将多个参数传递给线程函数

我有一个名为workForThread的函数,它接受两个参数,并返回void.我想使用类似的东西来修改此函数:

thread(workForThread,a,b);
Run Code Online (Sandbox Code Playgroud)

在哪里ab在适当的类型.上面的代码没有编译,给出了"太多的调用参数"错误("错误C2197:'void(__ cdecl*)(char*)':调用的参数太多了"

我该如何解决这个问题?

注意:我已经看过 两个问题,但那里的解决方案对我来说似乎不起作用.另外,我觉得有一种方法可以在c ++ 11中内置它,这就是我要找的东西.

c++ multithreading visual-c++ c++11 visual-studio-2012

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

从c ++文件中删除无用的行

很多时候,当我调试或重用某些代码时,文件开始获取不执行任何操作的行,尽管它们可能在某一点上做了某些事情.

像向量和填充,然后去未使用,定义但从未使用的类/结构,以及声明但从未使用过的函数.

我知道在许多情况下,其中一些不是多余的,因为它们可能从其他文件中可见,但在我的情况下,没有其他文件,只是我文件中的无关代码.

虽然我理解从技术上讲,调用会push_back做一些事情,因此矢量本身并不是未使用的,在我的情况下,它的结果是未使用的.

那么:有没有办法做到这一点,使用编译器(clang,gcc,VS等)或外部工具?

例:

#include<vector>
using namespace std;
void test() {
    vector<int> a;
    a.push_back(1);
}
int main() {
    test();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

应该成为: int main(){return 0};

c++ static-analysis unused-variables

7
推荐指数
1
解决办法
448
查看次数

得到所有除数的最有效方法

可能重复:
有效地查找数字的所有除数

这更像是一个效率问题,而不是通用的"找到一种方法",但在得到一些奇怪的结果后,我想看看是否有人可以告诉我为什么最后一种方式如此低效:

方式1:蛮力,没有优化

    public static List<int> proper_divisors(int x)
    {
        List<int> toreturn = new List<int>();
        for (int i = 1; i <= Math.Floor(Math.Sqrt(x)); i++)
        {
            if (x % i == 0)
            {
                toreturn.Add(i);
                toreturn.Add(x / i);
            }
        }
        if (toreturn.ElementAt(toreturn.Count() / 2) == toreturn.ElementAt(toreturn.Count() / 2 - 1))
        {
            toreturn.Remove(toreturn.ElementAt(toreturn.Count() / 2));
        }

        return toreturn;
    }
Run Code Online (Sandbox Code Playgroud)

方式2:与之前相同,但这一次,检查它是否为第一个(因为这些情况占用了大部分时间,使用miller-rabin进行初步检查)

        public static List<int> proper_divisors(int x)
    {
        List<int> toreturn = new List<int>();
        if (!isprime(x))
        {
            for (int i = 1; i <= Math.Floor(Math.Sqrt(x)); i++) …
Run Code Online (Sandbox Code Playgroud)

.net c# primes aggregate factorization

6
推荐指数
1
解决办法
9049
查看次数

以pi的增量标记绘图

可能重复:
如何选择mathemetica中图表轴上显示的数字?

如何创建一个函数图,其中比例将以pi(或任何其他常量)的形式显示事物?

即在轴的刻度下,它将显示0,pi/2,pi/4等.

wolfram-mathematica

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

随机插入/删除的综合载体与链表基准

所以我知道这个问题,而其他关于SO的问题涉及到问题,但大多数处理数据结构的复杂性(只是复制到这里,理论上将其与O连接起来(

我理解复杂性似乎表明列表会更好,但我更关注现实世界的表现.

注意:这个问题的灵感来自于Bjarne Stroustrup在2012年Going Native上的演示45和46,其中他讨论了处理器缓存和引用的位置如何真正有助于向量,但根本没有(或足够)列表.

问题:有没有一种很好的方法来测试这个使用CPU时间而不是墙上时间,并获得一种"随机"插入和删除可以事先完成的元素的体面方式,因此它不会影响时间?

作为奖励,能够将其应用于两个任意数据结构(例如矢量和哈希映射或类似的东西)以在某些硬件上找到"真实世界性能"将是很好的.

c++ benchmarking linked-list vector

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

Clang链接器问题(从源代码到gcc-snapshot)

我似乎无法让这个工作.我配置--with-gcc-toolchain=了等于之后的地方我把目录放在gcc是(/usr/lib/gcc-snapshot/bin)的位置.

我也看了成以"答案铛连接问题, "但我不知道怎样才能得到公认的答案,找到正确的位置,而符号链接的答案会工作,除了所有正在搜索的目录是否存在的(将lib文件夹从gcc-snapshot 复制到其中一个包含位置似乎没有帮助.

如其他问题所示,输出clang++ test.cpp -v:

bob @ bob:〜/编程$ clang ++ test.cpp -v
clang version 3.3(trunk 171350)
目标:x86_64-unknown-linux-gnu
线程模型:posix
"/ home/bob/programming/build/Release + Asserts/bin/clang"-cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name test.cpp -mrelocation-model static -mdisable-fp-elim -fmath-errno - masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer -v -resource-dir/home/bob/programming/build/Release + Asserts/bin /../ lib/clang/3.3 -fmodule-cache-path/var/tmp/clang-module-cache -internal-isystem/usr/local/include -internal-isystem/home/bob/programming/build /Release+Asserts/bin/../lib/clang/3.3/include -internal-externc-isystem/usr/include/x86_64-linux-gnu -internal-externc-isystem/include -internal-externc-isystem/usr/include -fdeprecated-macro -fdebug-compilation-dir/home/bob/programming -ferror-limit 19 -fmessage-length 80 -mstackrealign -fobjc-runtime = gcc -fcxx-exce ptions -fexceptions -fdiagnostics-show-option …

clang dynamic-linking ubuntu-12.04

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

找到系统的行终止符

是否有一个头文件存储系统的行终止字符(以便在没有任何#ifdefs 的情况下它可以在所有平台、MAC、Windows、Linux 等上运行)?

c c++ newline header

5
推荐指数
2
解决办法
736
查看次数

使用transformblocks的糟糕表现

我目前正在尝试使用TransformBlocks来使我的代码运行得更快.相反,我发现我基本上没有实现并行化:

正如您所看到的,存在相当多的死空间,很少有I/O或其他问题阻止事物并行运行(注意:所有绿色块都是主线程).

调用代码的基本结构如下:

var options = new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 8 };
var download = new TransformBlock<string, Tuple<string, string>>(s => sendAndReciveRequest(s), options);
var process = new TransformBlock<Tuple<string, string, TransformBlock<string, Tuple<string, string>>>, List<string>>(s => Helpers.ParseKBDL(s), options);
var toObjects = new TransformBlock<List<string>, List<Food>>(list => toFood(list), options);

for (char char1 = 'a'; char1 < 'z' + 1; char1++)
    download.Post(char1.ToString());

while ((download.InputCount != 0 || download.OutputCount != 0 || process.InputCount != 0) || (Form1.downloadCount != Form1.processCount))
{
    if (download.OutputCount == 0 && download.InputCount …
Run Code Online (Sandbox Code Playgroud)

concurrency performance task-parallel-library c#-5.0 tpl-dataflow

5
推荐指数
0
解决办法
507
查看次数

使用 string_agg 为 group_concat 聚合别名

我知道 postgres 没有 group_concat,但我想通过使用 string_agg(或任何其他有效的方式)来模拟它的字符串。

由于无法更改遗留代码,我需要使用名为 group_concat 的函数。

我怎样才能做到这一点?

对于它的价值,我还尝试group_concat使用常规 concat 来实现,但也遇到了错误:

CREATE AGGREGATE group_concat (text) (sfunc = concat, stype=text)
Run Code Online (Sandbox Code Playgroud)

错误:

“函数 concat(text,text) 不存在”

postgresql group-concat

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