例如:
int x[100];
void *p;
x[0] = 0x12345678;
x[1] = 0xfacecafe;
x[3] = 0xdeadbeef;
p = x;
((int *) p) ++ ;
printf("The value = 0x%08x", *(int*)p);
Run Code Online (Sandbox Code Playgroud)
编译上面的代码会在++运算符的行上生成一个左值所需的错误.
由于我昨天发布了一个关于Scala中元组的问题的一些有用的答案,我一直在寻找Scala HLists.我想从这个问题重新散列一个C++示例来问另一个:
在C++中,可以使用模板特化实现编译时递归.我经常对boost元组进行操作,像Scala/Haskell一样,HLists是通过多次组合泛型'cons'类型构建的,每个相关类型一次并以null_type结束.所以这:
boost::tuple<int, std::string, float>
Run Code Online (Sandbox Code Playgroud)
在引擎盖下实施:
cons<int, cons<std::string, cons<float, null_type> > >
Run Code Online (Sandbox Code Playgroud)
然后,我们可以编写一对在编译时通过此结构递归的函数,当第二个更专用的函数与最终的cons类型匹配时终止.一个简单的例子,计算元素的数量如下所示:
template<typename T1, typename T2>
void countTupleElements( boost::tuples::cons<T1, T2>& tupleRec, int index, const std::vector<std::string>& vals )
{
return 1 + countTupleElements( tupleRec.tail );
}
template<typename T>
void countTupleElements( boost::tuples::cons<T, boost::tuples::null_type>& tupleRec, int index, const std::vector<std::string>& vals )
{
return 1;
}
Run Code Online (Sandbox Code Playgroud)
至关重要的是,这种模式通常用于你想为每种元组元素类型做一些不同的事情(在我的例子中未说明):在C++编译时递归是必不可少的,因为一旦代码运行,类型信息就会丢失用于所有有用的目的.
我的问题是,与Scala HList类似的东西,例如
val example = 1 :: 2.0 :: "Hello" :: "World" :: HNil
Run Code Online (Sandbox Code Playgroud)
我知道在JVM上运行的Scala具有反射功能 - 因此可以使用运行时递归和使用清单和模式匹配的函数来实现.但我有兴趣知道是否可以使用编译时递归来做类似于C++示例的操作?
我刚刚升级到新的Xcode 4,代码没有应有的颜色.我正在尝试使用我在Xcode 3上创建的项目.
例如,字符串'NSString'在我的自定义代码中没有着色,但是当我切换到Apple的代码(例如NSString.h)时,一切都很好.
我该如何解决这个问题?
非常感谢,马丁
我正在构建一个基于 Qt 的应用程序来监视和捕获来自串行端口的数据流。数据实时绘制,通过 TCP 发送,并存储到 SQLite 数据库中。不幸的是,我发现 SQLite 插入导致 GUI 变得无响应,因为我正在主循环的上下文中执行串行数据处理、绘图、TCP 传输和数据库插入。我研究了将数据库插入分离到另一个线程上,并提出了以下代码。
#include <QObject>
#include <QDebug>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QVariant>
#include <QObject>
#include <QList>
#include <QThread>
#include <QMutex>
#include <QWaitCondition>
#include <QSqlDatabase>
#include <QSqlRecord>
#include <QString>
#include "mMessage.h"
// The class that does all the work with the database. This class will
// be instantiated in the thread object's run() method.
class Worker : public QObject
{
Q_OBJECT
public:
Worker( QObject* parent = 0); …Run Code Online (Sandbox Code Playgroud) 好的,这就是我所拥有的
<div>
<h2 class="type">A</h2>
<p class="value">12</p>
</div>
<div>
<h2 class="type">A</h2>
<p class="value">24</p>
</div>
<div>
<h2 class="type">B</h2>
<p class="value">35</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要做的就是浏览它们,将它们分组并创建一个像这样的选择下拉列表:
<select>
<option value="12,24">A</option>
<option value="35">B</option>
</select>
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
我有一个带有日期字段的实体,我想选择给定年份的记录.如何为这份工作建立一个NSPredicate?在Core Data中没有找到关于日期函数(如果有)的任何信息
谢谢
我正在尝试使用rome(1.0)创建一个feed聚合器.一切正常,但我遇到饲料字符集的问题.我正在使用java 1.6在mac os x(netbeans 6.9.1)上开发它.
我正在使用以下代码来检索Feed:
InputStream is = new URL(_source).openConnection().getInputStream();
SyndFeed feed = (SyndFeed) input.build(new InputStreamReader(is, Charset.forName(_charset)));
Run Code Online (Sandbox Code Playgroud)
_sourcerss源(如http://rss.cnn.com/rss/edition.rss)在哪里,_charset是UTF-8或ISO-8859-1.
它有效,但有些网站有拉丁字符(如葡萄牙语)它甚至不使用两种编码.
例如,从http://oglobo.globo.com/rss/plantaopais.xml读取的源将始终返回虚拟字符,如下所示:
秘鲁圣保罗(UTF-8)
秘鲁圣保罗(ISO-8859-1)
为什么?我错过了什么吗?
如果我尝试使用像UTF-16这样的东西,罗马会抛出一个错误:com.sun.syndication.io.ParsingFeedException:无效的XML:第1行的错误:prolog中不允许使用内容.
我尝试过其他编码,比如US-ASCII,没有幸运...
另一个问题:罗马是处理Feed的最佳解决方案(使用java)?来自罗马的最新版本是从2009年开始的1.0版本.似乎已经死了......
TIA,
短发
我正在努力寻找Gadaffi这个词.搜索此内容的最佳正则表达式是什么?
到目前为止,我最好的尝试是:
\b[KG]h?add?af?fi$\b
Run Code Online (Sandbox Code Playgroud)
但我似乎仍然缺少一些期刊.有什么建议?
更新:我在这里找到了一个相当广泛的列表:http://blogs.abcnews.com/theworldnewser/2009/09/how-many-different-ways-can-you-spell-gaddafi.html
以下答案匹配所有30种变体:
Gadaffi Gadafi Gadafy Gaddafi Gaddafy Gaddhafi Gadhafi Gathafi Ghadaffi Ghadafi Ghaddafi Ghaddafy Gheddafi Kadaffi Kadafi Kaddafi Kadhafi Kazzafi Khadaffy Khadafy Khaddafi Qadafi Qaddafi Qadhafi Qadhdhafi Qadthafi Qathafi Quathafi Qudhafi Kad'afi
我想用System.Random.MWC.Monad中的 Rand monad生成无限的数字流.如果只有这个monad的MonadFix实例,或者像这样的实例:
instance (PrimMonad m) => MonadFix m where
...
Run Code Online (Sandbox Code Playgroud)
然后人们可以写:
runWithSystemRandom (mfix (\ xs -> uniform >>= \x -> return (x:xs)))
Run Code Online (Sandbox Code Playgroud)
虽然没有一个.
我正在浏览MonadFix文档,但我没有看到实现此实例的明显方法.
嗨,请帮帮我.
我有一个包含大量表格的数据库.我必须从整个数据库中删除所有记录(除了10个给定的studentID),其中studentId不在给定的10个ID中.studentID是表中的主键和许多表中的外键.我不确定即使其他表可能具有相同的studentID,现在我想编写一个脚本来执行此任务,这将删除父表和子表(sql server 2008)中的所有记录.
c++ ×2
c ×1
cocoa ×1
core-data ×1
date ×1
feed ×1
haskell ×1
hlist ×1
html ×1
ios ×1
iphone ×1
java ×1
javascript ×1
jquery ×1
monadfix ×1
monads ×1
nspredicate ×1
objective-c ×1
pointers ×1
qt ×1
random ×1
recursion ×1
regex ×1
rome ×1
scala ×1
search ×1
select ×1
sql ×1
sql-server ×1
sqlite ×1
xcode ×1
xcode4 ×1