小编sev*_*ine的帖子

结果"a是a是a"比较

A = 314

if A == A == A:
    print('True #1')

if A == A == 271:
    print('True #2')

lie = 0
if lie is lie is lie:
    print('no matter how white, how small,')
    print('how incorporating of a smidgeon')
    print('of truth there be in it.')
Run Code Online (Sandbox Code Playgroud)

结果:

True #1
no matter how white, how small,
how incorporating of a smidgeon
of truth there be in it.
Run Code Online (Sandbox Code Playgroud)

我知道在if句子中使用两个"="和"是"是不正常的.但我想知道Python解释器如何解释该if语句.

表达式是lie is lie is lie同时解释还是短路方式?

python

11
推荐指数
2
解决办法
896
查看次数

用于流格式化的ios和ios_base类

我发现有两种方法可以为iostream设置setf()/ unsetf(),即(1)ios和(2)ios_base.

#include <iostream>
using namespace std;

int main() {
    cout.width(5);
    cout << 123 << endl;

    cout.setf(ios::adjustfield); // (1) using ios::
    cout << 123 << endl;

    cout.width(5);
    cout << 456 << endl;

    cout.setf(ios_base::adjustfield); // (2) using ios_base::
    cout << 456 << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我想改变ostream的格式时,它们的区别是什么;

您在更改格式时通常使用哪种方法?

c++ iostream

7
推荐指数
1
解决办法
3536
查看次数

已发布的属性未在Object Inspector中显示

我的环境:Windows 7 Pro(32位)上的RadStudio XE4.

属性和功能或程序之间的差异

在上面的Q和A中,有一个回复说"更具体地说,如果你使用Delphi IDE进行编程,你会看到已发布的属性(-y + ies)将显示在Object Inspector中".

我试过这个.

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    FSampleProp1: Integer;
    function GetSampleProp1(): Integer;
    procedure SetSampleProp1(val: Integer);
    { Private declaration }
  published
    { Private declaration }
    property SampleProp1: Integer read GetSampleProp1 write SetSampleProp1;
  end;
Run Code Online (Sandbox Code Playgroud)

我希望在Object Inspector的"property"选项卡中有"SampleProp1".但我没有那个.

相反,我在[Delphi Class Exploroer]窗口中有"SampleProp1".

我是否在Object Inspector中拥有已发布的属性是不正确的?

delphi

7
推荐指数
1
解决办法
2095
查看次数

用于DHT 11温度传感器的Python GPIO代码在PI 2中失败

我正面临着使用Python2.7 GPIO 0.5.11在PI 2中运行DHT 11温度传感器的问题.我指的是http://www.uugear.com/portfolio/dht11-humidity-temperature-sensor-module/ 示例代码.

相同的代码在PI 1 B +上正常工作.在PI 2中,我将"ERR_RANGE"视为错误.我试过调试问题好像数据读取@ GPIO引脚4需要增加.

将数据读取值增加到2000后,返回的温度和湿度值始终为255.有没有人遇到过这个问题,请帮我解决问题.

谢谢,Bharadvaj

python-2.7 raspberry-pi raspberry-pi2

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

是否可以知道表单是用Show()或ShowModal()显示的

我的环境:C++ Builder XE4

FormB是否可以知道FormB是用Show()还是ShowModal()显示的?

在FormA:

void __fastcall TFormA::Button1Click(TObject *Sender)
{
    FormB->Show();
    // FormB->ShowModal();
}
Run Code Online (Sandbox Code Playgroud)

在FormB:

void __fastcall TFormB::FormShow(TObject *Sender)
{
   // with some if sentence to know Show() or ShowModal()
}
Run Code Online (Sandbox Code Playgroud)

delphi c++builder

7
推荐指数
1
解决办法
856
查看次数

转换说明符%ju

在下面的页面中,我发现了代码

CERT INT15-C对程序员定义的整数类型使用intmax_t或uintmax_t作为格式化IO

uintmax_t temp;

if(scanf("%ju", &temp) != 1) {
   ...
Run Code Online (Sandbox Code Playgroud)

我不熟悉"%ju"说明符.我没有成功找到互联网上"%ju"的解释.

这是由某些特定的编译环境定义的,还是一般使用的?

c printf scanf

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

某些软件中是否使用了"dog-tag"字段?

我正在读一本名为"Code Complete"的书.在书中,有一个关于"狗标记字段"的解释.

使用dog-tag字段检查内存是否损坏."标记字段"或"狗标记"是仅为了进行错误检查而添加到结构中的字段.

您是否见过软件或许多用户使用的某些软件中"dog-tag"字段的实际用法?

c c++

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

无法设置 POSIX 消息队列属性

我的环境:

  • CentOS 6.5(64位内核)
  • 海湾合作委员会 4.4.7 20120313

我正在尝试设置 POSIX 消息队列的属性,但代码不会更改该属性。我只获得默认属性值。

你能指出我的代码有什么问题吗?

我以用户(而不是 root)身份执行 a.out。

#include <stdio.h>
#include <mqueue.h> // for message queue
#include <sys/stat.h>
#include <stdlib.h> // for EXIT_FAILURE
#include <string.h>

/*
gcc [file] -lrt
*/

static void showAttr(mqd_t mqd)
{
    struct mq_attr attr;

    mq_getattr(mqd, &attr);

    printf("maxmsg = %d\n", attr.mq_maxmsg);
    printf("msgsize = %d\n", attr.mq_msgsize);
    printf("curmsgs = %d\n", attr.mq_curmsgs);

}

int main()
{
    mqd_t mqd;
    int flags;
    int ret;
    struct mq_attr attr;

    flags = O_RDWR | O_CREAT;

    attr.mq_flags = 0; // or …
Run Code Online (Sandbox Code Playgroud)

c linux queue posix

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

带或不带 &amp; 用于在 C++ 构建器中调用 Synchronize()

我的环境:

操作系统 - Windows7 Pro(32位)

IDE - RadStudio XE2 Update4

我想知道 Synchronize() 函数。

Synchronize() 函数用于线程程序中。关于在 C+ builder 中使用 Synchronize(),示例如下(可以在这里看到)

//   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(&UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall TMyThreadClass::UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }
Run Code Online (Sandbox Code Playgroud)

我感到困惑的是,在某些旧版本的 C++ builder(例如 bcb6)中,使用了 Synchronize()

// Synchronize(UpdateCaption);
Run Code Online (Sandbox Code Playgroud)

函数名前没有“&”;

同样在此处的 …

c++builder

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

如何捕获突然被毁坏的TThread

My Environment: Rad Studio XE4 using C++
Run Code Online (Sandbox Code Playgroud)

我正在使用TThread开发一个软件.最近,我遇到了一个问题,即在程序启动几天后,TThread突然被破坏.

在TThread中,线程使用Synchronize()方法更改表单(例如TLable)的显示.我想知道这可能会引起一些问题.

我正在记录线程中的几个部分,以便我可以找到问题的原因.但是当我检查日志时,我只能发现突然调用了TThread的析构函数.

TThread的FreeOnTerminate设置为true.

该程序运行两个线程.只有一个线程突然被破坏,另一个线程即使在问题发生后仍在工作.

我正在寻找如何解决这类问题的原因.

delphi c++builder tthread

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