小编Jon*_*ein的帖子

为什么将0.1f改为0会使性能降低10倍?

为什么这段代码,

const float x[16] = {  1.1,   1.2,   1.3,     1.4,   1.5,   1.6,   1.7,   1.8,
                       1.9,   2.0,   2.1,     2.2,   2.3,   2.4,   2.5,   2.6};
const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812,
                     1.923, 2.034, 2.145,   2.256, 2.367, 2.478, 2.589, 2.690};
float y[16];
for (int i = 0; i < 16; i++)
{
    y[i] = x[i];
}

for (int j = 0; j < 9000000; j++)
{
    for (int i = 0; i < 16; i++)
    {
        y[i] *= …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point performance compilation visual-studio-2010

1491
推荐指数
5
解决办法
14万
查看次数

什么是"静态"功能?

问题是关于普通函数,而不是 static方法,正如评论中所阐明的那样.

好的,我理解static变量是什么,但什么是static函数?

为什么如果我声明一个函数,让我们说void print_matrix,让我们说a.c(WITHOUT a.h)和include "a.c"- 我得到"print_matrix@@....) already defined in a.obj",但是如果我声明它static void print_matrix然后它编译?

更新只是为了清理 - 我知道包括.c很糟糕,正如你们许多人指出的那样.我只是做它在暂时清除空间main.c,直到我有更好的想法如何将所有这些功能集成到适当.h.c文件.只是一个临时的快速解决方案.

c static terminology function

465
推荐指数
11
解决办法
55万
查看次数

如何使用POSIX执行命令并在C++中获取命令输出?

我正在寻找一种方法来获取从C++程序中运行命令的输出.我已经看过使用system()函数,但这只会执行一个命令.这是我正在寻找的一个例子:

std::string result = system("./some_command");
Run Code Online (Sandbox Code Playgroud)

我需要运行一个任意命令并获取其输出.我看过Boost.org,但我找不到任何可以满足我需要的东西.

c++ posix system process return-value

427
推荐指数
8
解决办法
42万
查看次数

有哪些开源C++静态分析工具?

Java有一些非常好的开源静态分析工具,如FindBugs,CheckstylePMD.这些工具易于使用,非常有用,可在多个操作系统上运行并且免费.

可以使用商业C++静态分析产品.虽然拥有这样的产品很棒,但是学生的成本太高,而且通常很难获得试用版.

另一种方法是找到可在多个平台(Windows和Unix)上运行的开源C++静态分析工具.通过使用开源工具,可以对其进行修改以满足特定需求.寻找工具并非易事.

下面是其他人发现或建议的C++静态分析工具的简短列表.

什么是其他任何人都知道并可以推荐的便携式开源C++静态分析工具?

一些相关链接.

c++ static-analysis coding-style

298
推荐指数
8
解决办法
9万
查看次数

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

GIT复制文件保留历史记录

我在GIT中有一个令人困惑的问题.可以说,我有一个文件已dir1/A.txt提交,git保留了提交历史记录

现在我需要(出于某些原因)将文件复制到dir2/A.txt(不移动但复制).我知道有一个git mv命令,但我需要dir2/A.txt具有相同的提交历史dir1/A.txt,并且dir1/A.txt仍然保留在那里.

我不打算在A.txt创建副本后进行更新,所有未来的工作都将完成dir2/A.txt

我知道这听起来令人困惑,我将补充说这种情况是基于java的模块(mavenized项目),我们需要创建一个新版本的代码,以便我们的客户能够在运行时拥有2个不同的版本,第一个最终将在对齐完成时删除版本.我们当然可以使用maven版本,我只是GIT的新手,并对git可以提供的内容感到好奇.

git filenames copy file

166
推荐指数
5
解决办法
8万
查看次数

如何自动将强类型枚举转换为int?

#include <iostream>

struct a {
  enum LOCAL_A { A1, A2 };
};
enum class b { B1, B2 };

int foo(int input) { return input; }

int main(void) {
  std::cout << foo(a::A1) << std::endl;
  std::cout << foo(static_cast<int>(b::B2)) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

a::LOCAL_A是强类型枚举试图实现的,但有一个小的区别:普通枚举可以转换为整数类型,而强类型枚举不能没有强制转换.

那么,有没有办法将强类型的枚举值转换为没有强制转换的整数类型?如果有,怎么样?

c++ c++11 strongly-typed-enum

144
推荐指数
11
解决办法
19万
查看次数

MATLAB OOP运行缓慢还是我做错了什么?

我与实验MATLAB OOP,因为一开始我模仿我的C++的记录器类,我把我所有的字符串辅助函数在String类,以为这将是巨大的,能够做的事情一样a + b,a == b,a.find( b )而不是strcat( a b ),strcmp( a, b ),检索的第一元件strfind( a, b ),等

问题:减速

我把上面的东西用上,并立即注意到一个急剧减速.我做错了(这当然有可能,因为我有相当有限的MATLAB经验),还是MATLAB的OOP只是引入了很多开销?

我的测试用例

这是我为字符串做的简单测试,基本上只是附加一个字符串并再次删除附加部分:

classdef String < handle
  ....
  properties
    stringobj = '';
  end
  function o = plus( o, b )
    o.stringobj = [ o.stringobj b ];
  end
  function n = Length( o )
    n = length( o.stringobj );
  end
  function o = SetLength( o, n ) …
Run Code Online (Sandbox Code Playgroud)

oop benchmarking matlab profiling matlab-class

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

如何找到vim编辑器使用的vimrc文件?

我想知道vim编辑器中是否有任何命令,我们可以通过它来了解vim编辑器正在使用哪个vimrc文件(位置).

vim command configuration-files

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

强制原点从0开始

如何在ggplot2中设置y轴和x轴的原点/截取?

x轴的线应该精确到y=Z.

Z=0或另一个给定的价值.

plot r axes ggplot2

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