小编Ed *_*ing的帖子

有没有一种快速的方法可以在C#中对结构进行归零?

这肯定已经回答了,但我找不到答案:

有一种快速提供的方法可以将structC#归零,还是我必须自己提供someMagicalMethod

为了清楚起见,我知道结构将初始化为0,我想知道是否有一种快速的方法将值重置为0.

也就是说,

struct ChocolateBar {
    int length;
    int girth;
}

static void Main(string[] args) {
    ChocolateBar myLunch = new ChocolateBar();
    myLunch.length = 100;
    myLunch.girth  = 10;

    // Eating frenzy...
    // ChocolateBar.someMagicalMethod(myLunch);

    // myLunch.length = 0U;
    // myLunch.girth = 0U;
}
Run Code Online (Sandbox Code Playgroud)

c# struct

13
推荐指数
3
解决办法
2939
查看次数

为什么C++ STL映射容器O(log(n))的复杂性?

对于诸如vector和的C++ STL容器list,查找元素以及插入或删除元素的复杂性是不言自明的.但是,对于map容器,即使我从我的阅读中知道访问和插入复杂性/性能是O(log(n)),我也无法理解为什么.我显然不了解我需要的地图,所以对这个主题的一些启示将非常感激.

c++ performance stl map

10
推荐指数
1
解决办法
4229
查看次数

无论封闭内容的高度如何,如何让包装器<div>填充浏览器的100%高度?

这个问题似乎已经以各种形式回答了无数次,但我仍然找不到适合我的答案.简而言之,我有这样的布局:

<body>
    <div class="wrapper">
        <div class="header"></div>
        <div class="body"></div>
        <div class="footer"></div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我希望wrapper在浏览器中水平居中,并填充浏览器高度的100%.每个封闭<div>元素都有一个固定的高度,通常高于一个高于浏览器窗口高度的高度.如果是这种情况,我会得到我想要的布局.

但是,如果浏览器窗口的高度大于所包含<div>元素的组合高度(例如,在iMac或纵向iPhone方向上的情况),那么wrapper似乎停止footer了其余部分的结束.这下面的窗口是<body>背景.的wrapper背景和<body>背景不同的颜色,所以这是很明显,这是如此.

有没有人有这样的CSS解决方案,以便wrapper填充浏览器高度,无论这个高度是大于还是小于内容的组合高度?

编辑:答案:

答案是下面的答案和我刚刚发生的事情的组合:在CSS中,执行以下操作:

body, html {
    height:  100%;
    margin:  0px auto;
    padding: 0px auto;
}

.wrapper {
    height:     auto;       /* These two lines were the key. */
    min-height: 100%
    /*overflow:   hidden;*/ /* Do not use this, it crops in small browsers. */
    margin:     0px auto;
    padding:    0px auto; …
Run Code Online (Sandbox Code Playgroud)

html css height

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

如何读取这个C++语法?

我可能是一个完全白痴,但我刚看到这个C++语法,我不能为我的生活弄清楚它在做什么:

(*x)(&a, b, c);
Run Code Online (Sandbox Code Playgroud)

非常感谢快速回答.

c++ syntax

6
推荐指数
2
解决办法
391
查看次数

在函数原型中为参数赋值时,这意味着什么?

我刚刚在C++中看到了函数原型的这种语法:

explicit String(unsigned char value, unsigned char base=10);

我之前没有见过这个,但我是否正确地假设它设置base为10,无论你怎么称呼它?

c++

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

尝试在 C++ 中转换结构时出现奇怪的错误消息

在 Linux 上使用 C++,我只是愚蠢地写了这个:

struct in_addr ip_addr = ((struct sockaddr_in)socket_addr).sin_addr;
Run Code Online (Sandbox Code Playgroud)

而不是预期的:

struct in_addr ip_addr = ((struct sockaddr_in*)&socket_addr)->sin_addr;
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

"error: no matching function for call to ‘sockaddr_in::sockaddr_in(sockaddr&)"
Run Code Online (Sandbox Code Playgroud)

我知道为什么我有错误(我试图转换一个结构),但我不明白为什么错误消息说明了它的作用。有人可以解释一下吗?

c++ struct casting error-messaging

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

UART代码端口后的TI MSP430中断问题

我将MSP430F2013处理器用于没有UART的应用程序.我需要一个UART,因此我使用TI的示例代码"msp430x20x3_ta_uart2400.c"来模拟使用定时器模块.这一切都运行良好(使用IAR Embedded Workbench编译),使用PuTTY测试它以将字符传输到开发板,并使用环回将它们回显到终端.

这是一个降低风险的练习,现在我已将该代码移植到我的应用程序的状态机中.完成此操作后,我遇到了有关定时器中断和低功耗睡眠模式的问题.这是我进入低功耗(睡眠)模式的代码片段:

// Prepare the UART to receive one byte.
prepare_receiver();

// Enter low power mode 1.
__bis_SR_register(LPM1_bits + GIE);

// Check whether the full message has been received.
if(true == get_message_complete())
{
    process_event(e_euart_message_received, NULL);
}
Run Code Online (Sandbox Code Playgroud)

我在调试器(C-Spy)上看到的是,有时它会bis_SR_register()在第一个条目上执行该行,然后转到if语句,即忽略我要求它进入睡眠状态的事实.在其他情况下,当它确实进入睡眠状态时,ISR会正确触发并最终将我带回if语句以继续执行程序(正如我所料).但是,如果我尝试跳到下一个语句,应用程序会冻结第一行,即我无法前进.

我想不出任何功能上与我正在做的TI示例有什么不同,所以我认为我的问题必须与我如何移植它有关.例如,我的Timer ISR和我在这里发布的代码是在不同的编译单元 - 这种决定会对事情有什么影响吗?我知道我的问题可能有点模糊,但不幸的是我无法发布我的所有代码,所以相反,我正在寻找有MSP经验的人,他可能会提出一些建议,或者一些潜在的陷阱,我可能已陷入其中.

embedded debugging interrupt msp430 iar

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

以编程方式调用wxPython EVT_BUTTON事件

我已经看到关于这个话题的另一个问题,但是我无法得到适合我的信息,所以我想我会详细说明 - 我怀疑我只是短视.

我正在尝试从测试框架中运行我的GUI,这涉及在测试脚本中手动调用事件(在这种情况下是按下按钮).到目前为止,除了其他不相关的guff,我还有:

# In GUI class:

self.button_1 = wx.Button(self, id=wx.ID_ANY, label="Button 1")
self.button_1.Bind(wx.EVT_BUTTON, self.button_1)

# In GUI Test class:

event = wx.PyCommandEvent(X, Y)
wx.PostEvent(get_gui_instance(), event)
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道应该是什么X,Y应该是什么(假设其余的都没问题).任何帮助是极大的赞赏.

python wxpython

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

使用Java日历时忽略DST

我有一个可以绘制时序图的GUI。用户通过在文本框中输入值来输入要绘制的日期。例如,如果他们输入25/07/13 22:0026/07/13 00:00,则该图应标绘从25号的22:00:00到第二天的00:00:59的数据。用户输入的时间被解析为一个Calendar对象。

我的问题来自DST。

用户并不关心DST,因此他们只希望看到这两次之间的图表。但是,Calendar对象确实关心DST,因此我的“截止”日期当前不是00:00,而是01:00。(我在伦敦,目前是格林尼治标准时间+ DST 1小时)。

我想有效地忽略DST,并且在绘制图形时就好像一切都是GMT + 0。

我怎样才能做到这一点?

java calendar dst

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

最小化C中浮点错误的经验法则?

关于最小化浮点运算中的错误,如果我在C中执行如下操作:

float a = 123.456;
float b = 456.789;
float r = 0.12345;
a = a - (r * b);
Run Code Online (Sandbox Code Playgroud)

如果我将乘法和减法步骤分开,计算结果是否会改变,即:

float c = r * b;
a = a - c;
Run Code Online (Sandbox Code Playgroud)

我想知道CPU是否会以不同方式处理这些计算,从而在一种情况下误差可能会更小?

如果不是,我认为无论如何,是否有任何良好的经验法则来缓解浮点错误?我可以按照有用的方式按摩数据吗?

请不要只说"使用更高的精度" - 这不是我所追求的.

编辑

有关数据的信息,在一般意义上,当操作导致非常大的数字(如123456789)时,错误似乎更糟.小数字(例如1.23456789)似乎在操作后产生更准确的结果.我想象这个,还是扩大数字有助于准确?

c floating-point 32-bit floating-accuracy

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

用"U"指定无符号整数有什么意义?

我一直都是,只要我记得并无处不在,就这样做了:

for (unsigned int i = 0U; i < 10U; ++i)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

换句话说,我U在无符号整数上使用说明符.现在看了很长时间,我想知道为什么我这样做.除了表示意图之外,我想不出为什么它在像这样的琐碎代码中有用的原因?

是否有一个有效的编程原因,为什么我应该继续这个约定,还是多余的?

c convention unsigned

0
推荐指数
2
解决办法
304
查看次数