小编A.a*_*bin的帖子

如何使派生类在调用基类之前执行操作?

在此之前:我不是开发人员,我可能不理解你的一些消息,因为英语不是我的母语,我的问题可能很难理解.

考虑:

class MyVector  
{
    std::vector<command> vec;
    std::mutex vector_m;

public:
    void MVpush_back(command t)
    {
        this->vector_m.lock();
        this->vec.push_back(t);
        this->vector_m.unlock();
    }

};
Run Code Online (Sandbox Code Playgroud)

command 是一个自定义类(它的内容在这里似乎不相关;复制构造函数确实存在).

基本上,因为我有很多可能的作家和读者,所以我想强制使用mutex访问vec参数.

由于我只使用push_back(),erase()而且find() 我可以重新定义它们,但我不知道是否有一种方法不必重新定义的所有功能.

就像是:

 <template> safe(*function name*<template>)
 {
   this->vector_m.lock();
   <template> retval = vec.*function name*<parameter>;
   this->vector_m.unlock();
   return retval;
 }
Run Code Online (Sandbox Code Playgroud)

调用函数的地方是一种参数......

我认为它可以使用,std::initializer_list<type>但类型要求是阻止.

有没有办法做这样的事情?

重新提问:有没有办法用参数(1)作为函数(2)的参数来推动函数,并使函数(2)调用函数(1)?

c++

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

MISRA-C个人使用程序的编码指南?

我通常是木材工人,而不是开发商。我正在学习用于嵌入式系统的C / C ++,同时尝试使我的某些工具具有自治性,从而节省了我的重复工作时间。

就目前而言,它的乐趣和进展顺利,我可能已经花了一百个小时进行编码/学习,并且已经节省了更多时间*。

我想继续前进,购买和遵循MISRA编码规则是“强制性好主意”吗?MISRA包含什么?仅编码规则,还是使它更安全的提示?

这些工具可能很危险(毕竟它们会砍柴,而人体的抵抗力要差得多……)。

注意:我显然分四个步骤进行测试:

  1. 只需运行OSD和SD卡记录器的图片即可(有一天,我将使用Anylze工具,并停止阅读它们)。

  2. 我没有插入任何工具

  3. 我在泡沫上使用软钻/刀具

  4. 我用手按紧急停止按钮在远处进行真实测试。

另外,我是唯一的员工,没有人可以访问我的工作场所。

*目前,我已经将钻头变成了一种3D木材打印机(完成了工作中不精确的部分),并将“切纸板”变成了自动化的打印机。

注意2:我不是母语人士,因此工具名称可能不正确。

c embedded misra

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

标签 统计

c ×1

c++ ×1

embedded ×1

misra ×1