小编x29*_*29a的帖子

低耦合和紧密的内聚力

当然这取决于具体情况.但是当较低级别的对象或系统与更高级别的系统进行通信时,是否应优先使用回调或事件来保持指向更高级别对象的指针?

例如,如果我们正在开发游戏,我们就有world class一个成员变量vector<monster> monsters.如果monster class要与之通信world class,我应该更喜欢使用回调函数,还是应该指向怪物类中的世界类?

c++ coupling

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

如何让msp430睡12秒?

什么是使MSP430进入睡眠状态10秒的最佳方法.速度不如低功耗那么重要.

msp430 real-time-clock

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

如何使用ProtoBuf扩展来获得C++中的多态性

我试图定义一个公共基本消息,它定义消息的类型(为了更容易解析),然后用实际消息扩展.消息将以RPC方式使用.

我的.proto文件

syntax = "proto2";
package userapi;

// wrapper for commands
message Command
{
    // for "subclassing"
    extensions 100 to max;

    enum Type
    {
        Request = 1;
        Response = 2;
    }

    required Type type = 1;
}   

message Request
{
    // register this message type as extension to command
    extend Command
    {       
        optional Request command = 100;
    }

    optional string guid = 1;
}

message Response
{
    // register this message type as extension to command
    extend Command
    {       
        optional …
Run Code Online (Sandbox Code Playgroud)

c++ protocol-buffers zeromq

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

设备处于休眠状态时,Android AlarmManager RTC不会暂停

我为Android设备写了一个小小部件.

该小部件用于AlarmManager设置定期更新.我正在使用RTC时钟AlarmManager.

根据文档,如果设备处于休眠状态,则RTC时钟不会唤醒设备,下次更新将在设备唤醒时进行.

我有一个小部件的日志文件,显示它何时更新.

即使我没有触摸设备,我仍然会在日志文件中看到更新.

这是为什么?设备不应该睡觉,因此我的小部件不应该更新?

我正在使用System.currentTimeMillis()它的开始时间所以它应该是正确的RTC时钟.

android sleep alarmmanager real-time-clock

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

Qt创建者中的连接数据库

如何使用QT4和Qt Creator连接到MySQL数据库?我不知道如何继续,如果有人能帮助我,请...

mysql qt qt-creator

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

Beaglebone黑色DS1307

我正在尝试将DS1307 RTC集成在beaglebone black上,其中我正在使用rootfs构建自定义内核,我使用了beagle P9.17和P9.18的SCL和SDA引脚ie; 在beaglebone黑色的I2C-1,但当我尝试做

i2cdetect -r 1

根据教程http://learn.adafruit.com/adding-a-real-time-clock-to-beaglebone-black/wiring-the-rtc,它没有显示DS1307的0x68从地址

关于这个问题的任何想法?

linux i2c real-time-clock beagleboneblack

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

正确返回对局部变量的const引用

此外到答案1,2,3和GotW88,假设以下的方法

QString createString()
{
    return QString("foobar");
}

const QString& getString()
{
    return createString();
}
Run Code Online (Sandbox Code Playgroud)

这将产生VS2013着名的"警告C4172:返回本地变量或临时变量的地址".

现在,如果我改变了第二种方法

const QString& getString()
{
    const QString& binder = createString();
    return binder;
}
Run Code Online (Sandbox Code Playgroud)

哪个不再报告错误.这是一种安全的方法来修复警告而不改变API的签名吗?为什么这样做?

c++ qt

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