小编Kes*_*ria的帖子

C中的数组语法

有什么区别

int * a[10];

int (*b)[10];

我知道第一个是整数指针数组,但第二个是什么?如果我尝试分配

int (*c)[10] = a;

我到底在做什么?

c arrays

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

使用MacPorts安装cmake时出现问题

我正在使用MacPorts尝试安装cmake,它给了我这个.我在网上寻求帮助,但无济于事.关于如何让它消失的任何想法?

运行OSX 10.6.6(2.4 Ghz i5,4GB)

$ sudo port install cmake
--->  Computing dependencies for cmake
--->  Building cmake
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for cmake is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_cmake/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
$ 
Run Code Online (Sandbox Code Playgroud)

macports cmake

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

std :: vector查找比执行简单操作更快吗?

我正在尝试优化一些C++代码以提高速度,而不关心内存使用情况.如果我有一些功能,例如,告诉我一个字符是否是一个字母:

bool letterQ ( char letter ) {
    return (lchar>=65 && lchar<=90) ||
       (lchar>=97 && lchar<=122);
}
Run Code Online (Sandbox Code Playgroud)

是否可以更快地创建查找表,即

int lookupTable[128];
for (i = 0 ; i < 128 ; i++) {
    lookupTable[i] = // some int value that tells what it is
}
Run Code Online (Sandbox Code Playgroud)

然后修改上面的letterQ函数

bool letterQ ( char letter ) {
    return lookupTable[letter]==LETTER_VALUE;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在这个简单的区域中优化速度,因为这些函数被大量调用,因此即使速度的小幅增加也会累积到长期增益中.

编辑:

我做了一些测试,如果查找数组被缓存,它似乎比查找函数表现得更好.我通过尝试测试了这个

for (int i = 0 ; i < size ; i++) {
      if ( lookupfunction( text[i] ) )
      // do something
}
Run Code Online (Sandbox Code Playgroud)

反对 …

c++

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

标签 统计

arrays ×1

c ×1

c++ ×1

cmake ×1

macports ×1