小编Pet*_*ker的帖子

英特尔IPP卷积已弃用 - 是否有不同的IPP 2D卷积方法?

我正在尝试使用 英特尔集成性能基元(IPP),我很好奇在IPP中进行2D卷积的"正确方法".

根据英特尔IPP文档,ippiConvFull(文档)和ippiConvValid(文档)已弃用.但是我没有在IPP中看到任何其他2D卷积例程.

我做了一些搜索,我没有找到任何替代IPP功能的2D图像卷积.

  • 是否有替代ippiConvFullippiConvValid在IPP?
  • 或者,英特尔刚刚从IPP中删除了卷积?

c c++ image-processing intel-ipp

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

是否可以在共享内存中存储多态类?

假设我有课BaseDerived : public Base.我使用boost :: interprocess库构建了一个共享内存段.是否可以使用与此类似的代码:

Base* b = new Derived(); 
write(b); //one app writes
Base* b2 = read(b); //second app reads
//b equals b2 (bitwise, not the ptr location)
Run Code Online (Sandbox Code Playgroud)

我在这里看到的问题是,例如,派生的Base类所需的空间是未知的(因此要分配多少shmem?)

:如何通过应用程序之间的指针传递对象?

c++ boost shared-memory boost-interprocess

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

使用字符串赋值和复合赋值是否安全?

如果我有:

#include <string>

std::string myString = "Hello";
Run Code Online (Sandbox Code Playgroud)

然后做任何一个:

myString = "Hello World";
Run Code Online (Sandbox Code Playgroud)

要么

myString+= " World";
Run Code Online (Sandbox Code Playgroud)

我是否有写一些其他记忆的风险?
我是否必须使用字符串函数来添加或更改字符串的大小?

c++ string

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

编译器是否避免中间整体推广或转换?

考虑一个类:

struct mystruct 
{
    constexpr operator char() {return x;}
    signed char x;
};
Run Code Online (Sandbox Code Playgroud)

和一个像这样的操作:

mystruct m;
m.x = /* something at runtime */
int i = 3 * m + 45ULL * m;
Run Code Online (Sandbox Code Playgroud)

编译器是否能够跳过临时转换char并直接转换为表达式中m所需的类型3 * m + 45ULL * m

c++ integer casting compiler-optimization c++11

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

指针(星号)的目的究竟是什么?

我是编程的新手,我正试图围绕"指针"的想法.


int main()
{
    int x = 5;
    int *pointerToInteger = & x;
    cout<<pointerToInteger;

}
Run Code Online (Sandbox Code Playgroud)

为什么当我 cout << pointerToInteger;输出是十六进制值时,但是当我使用cout << *pointerToInteger;输出时是5(x = 5).

c++ pointers memory-address dereference

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

uint32_t 未命名类型

我已经分享了给我的代码,这些代码可以在一个 linux 系统上编译,但不能在较新的系统上编译。错误是 uint32_t 未命名类型。我意识到这通常可以通过包含<cstdint>or 来解决stdint.h。源代码没有这些包括,我试图寻找一个不需要修改的选项,因为我无法控制的内部业务实践。由于它在一台机器上按原样编译,因此他们不希望更改源代码。

我不确定这是否重要,但较旧的系统使用 gcc 4.1,而较新的系统使用 gcc 4.4。如果需要,我可以安装不同版本的 gcc,或者在较新的机器上添加/安装库/包含文件,我可以完全控制那台机器上的内容。

在不修改源代码的情况下尝试在我的机器上编译此代码有哪些选择?如果需要,我可以提供其他详细信息。

c++ linux gcc

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

从基类中识别派生类

有没有办法检查两个实例是否是相同的派生类?就像是:

Base *inst1 = new A();
Base *inst2 = new B();
Base *inst3 = new A();


bool b1 =  (inst1->class== inst2->class); //<-- should evaluate to false
bool b1 =  (inst2->class== inst3->class); //<-- should evaluate to true
Run Code Online (Sandbox Code Playgroud)

显然,我可以向基类添加一个虚函数,并实现每个派生类以返回唯一值.但是,我宁愿不必为派生类实现任何特定的东西,因为我正在基于派生这个基类来创建API.

c++ polymorphism virtual pointers abstract

4
推荐指数
1
解决办法
125
查看次数

从64位转换为32位时,Gcc不会发出任何警告

这是我的代码:

int main()
{
    uint64_t a = 100;
    uint32_t b = a;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Gcc命令:

~$ gcc -o 1 1.c -Wall
~$
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一些帮助吗?

c++ gcc casting

4
推荐指数
1
解决办法
1654
查看次数

在C和C++中为NULL/false,大于0x0/0b0 /'\ 0'/ 0

正如问题所述,我一直在使用NULL和false(在C++中)与0或0x0交替使用,依此类推.我很想知道除了是0的同义词之外他们是否有任何特殊意义.

c c++ null

4
推荐指数
1
解决办法
1511
查看次数

C++ 如何将日期从输入(字符串年、字符串月、字符串日)转换为 time_point

我的老师说我必须用这样的行转换文件:

Jan Kowalski 1997 4 3
Run Code Online (Sandbox Code Playgroud)

给有游泳池的人上课,比如:

string name, surname;
std::chrono::system_clock::time_point dateofbirth;
Run Code Online (Sandbox Code Playgroud)

如何从 3 个整数创建时间点?我想这不是存储这种数据的最简单方法。

“对特定时间点的引用,例如一个人的生日、今天的黎明或下一列火车经过的时间。在这个库中,time_point 类模板的对象通过使用相对于一个纪元(这是一个固定点)的持续时间来表达这一点使用相同时钟的所有 time_point 对象共有的时间)。”

但是我如何从这些数据中获得持续时间?

我想我应该从以下内容开始:

using std::chrono::system_clock;
system_clock::time_point today = system_clock::now();
std::chrono::duration<int, std::ratio<60 * 60 * 24> > one_day;
Run Code Online (Sandbox Code Playgroud)

c++ time

4
推荐指数
1
解决办法
2615
查看次数