问题列表 - 第30035页

使用数组下标运算符访问struct成员

设T型和只具有T型均匀元素的结构.

struct Foo {
    T one,
    T two,
    T three
};
Run Code Online (Sandbox Code Playgroud)

我想以下面的方式访问它们:

struct Foo {
    T one,
    T two,
    T three

    T &operator [] (int i)
    {
        return *(T*)((size_t)this + i * cpp_offsetof(Foo, two));
    }
};
Run Code Online (Sandbox Code Playgroud)

其中cpp_offsetof宏(它被认为是正确的)是:

#define cpp_offsetof(s, m)   (((size_t)&reinterpret_cast<const volatile char&>((((s*)(char*)8)->m))) - 8)
Run Code Online (Sandbox Code Playgroud)

C++标准并不能保证它,但是我们可以假设成员与固定偏移相距甚远,并且上面是正确的跨平台解决方案吗?


100%兼容的解决方案是:

struct Foo {
    T one,
    T two,
    T three

    T &operator [] (int i) {
        const size_t offsets[] = { cpp_offsetof(Foo, one), cpp_offsetof(Foo, two), cpp_offsetof(Foo, three) };
        return *(T*)((size_t)this + offsets[i]); …
Run Code Online (Sandbox Code Playgroud)

c++ cross-platform memory-alignment

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

PHP SimpleXML:如何加载HTML文件?

当我尝试将HTML文件作为XML加载时,simplexml_load_string我得到许多关于HTML的错误和警告并且它失败了,有没有办法使用SimpleXML正确加载html文件?

这个HTML文件可能有不需要的空格,也许还有一些我想让SimpleXML忽略的错误.

html php simplexml

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

REST Web应用程序中的分页

通常,用户进行搜索,获取命中列表,然后可以浏览它.hitlist是一个中间结果,在整个浏览过程中保持一致,通常存储在会话状态中.例如,如果新项目由其他项目同时添加,则它们仅出现在后续搜索中.

在REST应用程序中,我不能轻易获得这个中间结果 - 它既不属于客户端,也不属于模型.我在REST网络应用程序中阅读了分页,但我的答案并不完全清楚.那里的解决方案似乎假设在用户浏览结果时不更新模型.

我们当然可以将世界(模型)想象成一系列不可变的快照.通过提供一个时间戳(或全球版本号),我们就得到了模型的一致视图在那个时候,这从概念的角度来看解决了这个问题.但它确实意味着模型的完整版本.(我也想知道是否有与函数式编程相关的连接)

我该如何处理这个问题?

注意:我问,因为我打算使用play框架,它根本没有HTTP状态或会话的概念; 这是纯粹的宁静.

java rest pagination playframework

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

zsh文件名为globbling/substitution

我正在尝试创建我的第一个zsh完成脚本,在本例中为命令netcfg.

Lame听起来可能听起来我已经陷入了第一道障碍,免责声明,我知道如何粗暴地做到这一点,但是我寻求"ZSH WAY"来做到这一点.

我需要在/ etc/networking中列出文件,但只列出文件,而不是目录组件,所以我做了以下操作.

echo $(ls /etc/network.d/*(.))

/etc/network.d/ethernet-dhcp /etc/network.d/wireless-wpa-config
Run Code Online (Sandbox Code Playgroud)

我想要的是:

ethernet-dhcp wireless-wpa-config
Run Code Online (Sandbox Code Playgroud)

所以我试着(原谅我的天真):

echo ${(s/*\/)$(ls /etc/network.d/*(.))}

/etc/network.d/ethernet-dhcp /etc/network.d/wireless-wpa-config
Run Code Online (Sandbox Code Playgroud)

似乎这不起作用,我敢肯定必须有一些聪明的方法来做到这一点,分成一个数组并得到最后一部分,但正如我所说,我完全是noob在这.

任何建议都感激不尽.

zsh glob autocomplete

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

对基础R图形的改进

当我为出版物和谈话生成图形时,我倾向于使用ggplot2.但是,对于我想要生成快速绘图的非常大的数据集,或者对于学生没有良好的R基础的课程,我使用基本图形.

是否有任何漂亮(简单!)的方式来加强R图形?例如,您使用颜色和线条类型的漂亮组合吗?我倾向于做类似的事情:

#Functional but not that nice    
plot(x1,y1, type="l")
lines(x2, y2, col=2, lty=2)
Run Code Online (Sandbox Code Playgroud)

特别是,我在想的plot,histdensity功能,但我想这个问题适用于所有基础R图形.

graphics r

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

如何更改datagridview选定的行背景颜色?

如何在C#windows应用程序中更改datagridview选定的行背景颜色?

c# datagridview winforms

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

将不可变转换为可变集合

将collection.immutable.Set转换为collection.mutable.Set的最佳方法是什么?

collections scala mutable immutability

17
推荐指数
2
解决办法
8004
查看次数

不在办公室的回复会发送到"来自"地址,"不回复"

我使用通用电子邮件地址向三个不同位置的客户发送电子邮件.任何错误/不在办公室的回复都应该送到当地办事处供他们处理.所以我使用:

来自:common@abc.com回复:london@abc.com

来自:common@abc.com回复:newyork@abc.com

来自:common@abc.com回复:tokyo@abc.com

这似乎适用于电子邮件失败(错误的地址等),但Exchange的外出回复总是转到发件人地址common@abc.com.我需要他们去当地的办公室,回复地址.

知道如何解决这个问题吗?我使用标准MailMessage从c#发送电子邮件:

MailMessage mail = new 
mail.Subject = mailDetail["subject"].ToString();
mail.Body = mailDetail["body"].ToString();

// From 
mail.From = new MailAddress(ConfigManager.GetSetting("MailSender"));

// Reply to (boucebacks / out of office etc)
mail.ReplyTo = new MailAddress(mailDetail["reply_to"].ToString());
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,

瑞安

c# email exchange-server smtp

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

ruby中有类似Java Quartz的东西吗?

这是一个像Java中的Quartz这样的库,用于ruby?

ruby java quartz-scheduler

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

qt - 如何添加其他包含目录

嗨,我正在尝试创建一个qt程序.在这里我需要一些库文件

C:\Documents and Settings\prabhakaran\Desktop\ChessServerNew\ChessServerNew
Run Code Online (Sandbox Code Playgroud)

我试着编辑.pro文件

INCLUDEPATH += C:\Documents and Settings\prabhakaran\Desktop\ChessServerNew\ChessServerNew
Run Code Online (Sandbox Code Playgroud)

但是,qt编译器仍然说它找不到那些文件.有谁能够帮我.

qt

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