问题列表 - 第11988页

如何在C中进行这种聪明的投射?

你可以看到我在下面尝试做的事情:

typedef struct image_bounds {
    int xmin, ymin, xmax, ymax;
} image_bounds;

#define IMAGE_BOUNDS(X) ((image_bounds *)(X));

typedef struct {
    image_bounds bounds;
    float dummy;
} demo;

int
main(void) {
    demo my_image;

    /* this works fine */
    ((image_bounds *)(&my_image))->xmin = 10;

    /* why doesn't this work? i get the following error:
    /* In function main:
      cast.c:20: error: expected expression before = token
    */    
    IMAGE_BOUNDS(&my_image)->xmin = 20;

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

正如你从上面可以看到,C演员有效,但宏版本没有,我做错了什么?

c macros casting c-preprocessor

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

仅使用取消引用将C样式字符串复制到自由商店

如标题中所述,目标是在不使用任何标准库函数或下标的情况下将C样式字符串复制到内存中.

这是我到目前为止[求助]

#include "std_lib_facilities.h"

char* strdup(const char* p)
{
    int count = 0;
    while (p[count]) ++count;
    char* q = new char[count+1];
    for (int i = 0; i < count + 1; ++i) *(q + i) = *(p + i);
}

int main()
{
    char word[] = "Happy";

    char* heap_str = strdup(word);
}
Run Code Online (Sandbox Code Playgroud)

显然问题是分配just *p(相当于p[0])只将字母分配"H"给内存.我不知道如何在没有下标或STL函数的情况下分配C风格的字符串.

c c++ heap pointers

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

类中的Python装饰器

可以写一些像:

class Test(object):
    def _decorator(self, foo):
        foo()

    @self._decorator
    def bar(self):
        pass
Run Code Online (Sandbox Code Playgroud)

这失败了:@self中的自我是未知的

我也尝试过:

@Test._decorator(self)
Run Code Online (Sandbox Code Playgroud)

也失败了:测试未知

我想暂时更改装饰器中的一些实例变量,然后在更改它们之前运行装饰方法.

python class decorator self

123
推荐指数
9
解决办法
8万
查看次数

Nil NSDate试图在祖鲁时间从UTC字符串获取日期

在Objective-C中编写一个iPhone应用程序,我有一个字符串形式的日期(UTC格式,最后用Z表示零UTC偏移,或祖鲁时间),我需要将其解析为一个NSDate对象.

一点代码:

NSDateFormatter* df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSString* str = @"2009-08-11T06:00:00.000Z";
NSDate* date = [df dateFromString:str];
通过调试器运行,date最终nil!我假设它与我的日期格式字符串有关.

如何修复它以正确解析日期字符串?

一个想法是Z在日期格式文字中,将日期格式设置为yyyy-MM-dd'T'HH:mm:ss.SSS'Z'.

这将起作用,除非将Z解析为文字,日期丢失了偏移信息,因此是不明确的,因此被解释为本地时间.

例如,如果要解析的字符串是2009-08-11T06:00:00.000Z(6:00祖鲁时间),它将被解释为当地时间的6:00,然后将应用不正确的偏移量.然后将其解析为2009-08-11T06:00:00.000-600(12:00祖鲁时间),偏移量取决于用户的偏移量.

谢谢!

iphone utc objective-c nsdate nsdateformatter

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

另一个绝对的进口问题

我自己的模块覆盖了内置的Python(特别是日志记录模块).这是我的项目布局:

run.py
package/
        __init__.py
        logging/
                __init__.py
        ...
Run Code Online (Sandbox Code Playgroud)

run.py

from package import main

main()
Run Code Online (Sandbox Code Playgroud)

包/ __ init__.py

from __future__ import absolute_import
import logging
import logging.config

def main():
    logging.config.fileConfig(...)
Run Code Online (Sandbox Code Playgroud)

包/记录/ __ init__.py

class Logging(object):
    pass
Run Code Online (Sandbox Code Playgroud)

现在看来,上面的代码是有效的.一旦我尝试从package.logging导入Logging类,如下所示:

from __future__ import absolute_import

import logging
import logging.config
from package.logging import Logging

def main():
    logging.config.fileConfig(...)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

AttributeError: 'module' object has no attribute 'config'
Run Code Online (Sandbox Code Playgroud)

我已经阅读了PEP 328发行说明,发现绝对导入非常简单.不幸的是我无法弄明白这一点.

我在这里错过了什么?

python

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

将类属性反向映射到Python中的类

我在Python中有一些代码,我将有一堆类,每个类都有一个属性_internal_attribute.我希望能够生成这些属性到原始类的映射.基本上我希望能够这样做:

class A(object):
    _internal_attribute = 'A attribute'
class B(object):
    _internal_attribute = 'B attribute'

a_instance = magic_reverse_mapping['A attribute']()
b_instance = magic_reverse_mapping['B attribute']()
Run Code Online (Sandbox Code Playgroud)

我在这里缺少的是如何生成magic_reverse_mapping字典.我有一种直觉,有一个元类产生A和B是正确的方法来解决这个问题; 那似乎对吗?

python metaclass

0
推荐指数
1
解决办法
316
查看次数

组织C源文件的好方法?

我总是组织我的C源的方法是将结构,宏和函数原型放在头文件和.c文件中的函数实现中.但是,我最近一直在阅读大量项目的其他人的代码,我开始看到人们经常在C源本身中定义诸如结构和宏之类的东西,紧接在使用它的函数之上.我可以看到一些好处,因为你不必去寻找特定函数使用的结构和宏的定义,一切都在与使用它的函数大致相同的地方.但是我也可以看到它的一些缺点,因为它意味着没有一个用于结构/宏定义的中央存储库,因为它们分散在源代码中.

我的问题是,决定何时将宏/结构定义放在C源代码中而不是头文件本身有什么好的经验法则?

c

11
推荐指数
5
解决办法
9540
查看次数

尝试获取日期差异的JQuery UI DatePicker使用2个日期字段

我有2个JQuery Date字段

  1. 到达
  2. 出发

到达日期不能是今天的日期 - 我在javascript中使用minDate:1对其进行了排序

出发日期必须至少在抵达日期前2天.我认为minDate:3会起作用,但那可以查询今天的日期.如果用户在到达字段中选择明天日期但是如果用户在将来选择到达日期则它会中断.我需要出发日期参考到达日期并提前2天将其移动到用户可以选择的最短日期,主要是在预订这家酒店时,用户不能入住一晚,需要2晚.

最后,我还需要计算到达日期和出发日期之间的晚数到第3个文本字段.因此,当输入出发日期时,它会自动输入第3个文本字段中的夜晚数.我还需要它反向工作,如果用户决定投入夜数,我需要相应地改变出发日期.

jquery datepicker

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

如何在C#中转发基类集合?

在C#中,我有一个我无法修改的A类.从这个类我创建了B类(即继承自A),它增加了一些属性.我还有一个静态函数,<A>在调用GetListOfA()时返回List .

如何将GetListOfA()的返回值转换为List <B>

例如,将列表<B>bList = foo.GetListOfA()列为List<B>

c#

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

设置window.location.hash的潜在问题

我有一些javascript代码,在某一点上,设置window.location.hash为一个特定的字符串.这在Firefox 3中工作正常,但我想知道我以后是否会遇到问题,即这是一个跨浏览器的解决方案(包括IE6)?

另外,我使用的是ReallySimpleHistory.这会弄乱其内部状态吗?

谢谢

javascript rsh cross-browser

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