C#事件处理(包括所有委托和类似事件)和通过双击设计器中的表单(在Visual Studio中)生成的事件有什么区别?
我偶然发现了以下网站:http : //www2.research.att.com/~bs/C++0xFAQ.html#lambda,他们在其中解释了lambda函数。我尝试使用提供的示例:
vector<int> indices( notImportantNumber );
int count = 0;
fill(indices.begin(), indices.end(), [&](){ return ++count; });
Run Code Online (Sandbox Code Playgroud)
同样
generate(indices.begin(), indices.end(), [&](){ return ++count; });
Run Code Online (Sandbox Code Playgroud)
虽然,当我尝试将示例与fill一起使用时,我继续遇到此错误:
错误1错误C2440:'=':无法从'const`anonymous-namespace'::'转换为'long'c:\ program files \ microsoft visual studio 10.0 \ vc \ include \ xutility 2692
有人知道为什么会这样吗?在的声明中std::fill()
,没有函子作为最后一个参数。
我有2个成员函数的问题,其中一个是const返回一个const:
const BoardNode & Board::getBoardNode(unsigned int rowIdx, unsigned int colIdx) const
{
return _mData[rowIdx*_mNumColumns + colIdx];
}
BoardNode & Board::getBoardNode(unsigned int rowIdx, unsigned int colIdx)
{
return _mData[rowIdx*_mNumColumns + colIdx];
}
Run Code Online (Sandbox Code Playgroud)
过了一会儿我用的代码:
// where this is a Board holding Nodes in std::vector
BoardNode nodeToAddAsNeighbor = this->getBoardNode(x1+ x, y1+ y);
Run Code Online (Sandbox Code Playgroud)
无论的值y1
,y
,x
,x1
是的,我总是回以坐标中的节点(0,0)
.
然而,节点的其他参数是不同的,只有如上所述的坐标.
知道为什么吗?
编辑 我的副本构造函数:
BoardNode::BoardNode(const BoardNode & other) :
_mNodeType(other._mNodeType),
_coordinates( other._coordinates ),
_neighboursVector( other._neighboursVector) {}
Run Code Online (Sandbox Code Playgroud) 我有一段非常简单的代码,用于检查给定的数字是否为排列
(位数<8;每位数只显示一次)
从未知的原因到我的循环与标记的评论(HERE
)只传递一次.有人可以帮助我吗?
#include <stdio.h>
#include <stdbool.h>
int num_digits(int number)
{
int digits = 0;
while (number) {
number /= 10;
digits++;
}
return digits;
}
int get_n_digit(int number, int which)
{
if(which > num_digits(number))
{
printf("This number %d does not have that many digits: %d\n",number, which);
return -1;
}
int to_return = number;
int i = 0;
for(i = 0; i < num_digits(number) - which;i++)
{
int digit = number % 10;
to_return /= 10;
}
printf("get_n_digit(%d,%d)=%d\n",number,which, …
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
std::istream is;
// ... stream initialization ...
while(is)
{
uint32_t next4Bytes = 0;
is.read(reinterpret_cast<char*>(&next4Bytes), 4);
if(next4Bytes == 218893066)
{
is.seekg(-4, std::ios_base::cur);
break;
}
else
is.seekg(-3, std::ios_base::cur);
}
Run Code Online (Sandbox Code Playgroud)
有没有比reinterpret_cast<char*>
从4个字节读std::istream
入更好的方法uint32_t
?(显然不是c式演员)
我在这里有一个简单的例子:
自从我尝试学习c ++ 11线程以来,该项目可称为学术性的.这是对正在发生的事情的描述.
想象一下,如果std::string
有大量的汇编源代码,那就非常大
mov ebx,ecx;\r \nmov eax,ecx;\r \n ......
Parse()
function接受此字符串并通过标记行的开头和结尾并将其保存string::const_iterators
在作业队列中来查找所有行位置.
之后,2个工作线程从队列中弹出此信息,并将子字符串解析为Intstuction类对象.他们将结果的Instruction类实例推送到std::vector<Instruction> result
这是一个结构声明,用于保存要解析的子字符串的行号和迭代器
struct JobItem {
int lineNumber;
string::const_iterator itStart;
string::const_iterator itEnd;
};
Run Code Online (Sandbox Code Playgroud)
那是一个小记录器......
void ThreadLog(const char* log) {
writeMutex.lock();
cout << "Thr:" << this_thread::get_id() << " " << log << endl;
writeMutex.unlock();
}
Run Code Online (Sandbox Code Playgroud)
这是共享数据:
queue<JobItem> que;
vector<Instruction> result;
Run Code Online (Sandbox Code Playgroud)
以下是同步的所有原语
condition_variable condVar;
mutex condMutex;
bool signaled = false;
mutex writeMutex;
bool done=false;
mutex resultMutex;
mutex queMutex;
Run Code Online (Sandbox Code Playgroud)
每线程功能
void Func() {
unique_lock<mutex> condLock(condMutex); …
Run Code Online (Sandbox Code Playgroud) c++ multithreading condition-variable thread-synchronization c++11
我希望chown包含单词"hi"的所有文件
我现在有
grep -r $1 $2
if [ $? -eq 0 ]; then
echo "Found text"
echo $match
echo "start"
Run Code Online (Sandbox Code Playgroud)
输入是诸如此类的 ./test.sh "hi" *
我能够获得包含hi的所有文件,但是当我尝试chown时,我不知道放置什么管道我知道你可以将变量传递给下一个参数,例如;
grep -r $1 $2 | chown user1:root *
Run Code Online (Sandbox Code Playgroud)
但这似乎只是做整个目录,这不是我想要的.
有关阅读或调查的内容的任何建议?
我们假设我们有以下代码片段:
void foo(std::unique_ptr<Data> p1, std::unique_ptr<Data> p2){
bar(p1);
bar(p2);
}
int main(){
foo( std::unique_ptr<Data>{new Data}, std::unique_ptr<Data>{new Data});
}
Run Code Online (Sandbox Code Playgroud)
问题是:运行此代码时是否会释放内存(无论发生什么情况)?
标准说我们不能依赖语句的顺序作为函数参数,但内部函数调用/内存分配等呢?它在这里重要吗?
我刚刚在这篇博文中看到了这段代码
type Logger interface {
Debug(msg string, keyvals ...interface{}) error
Info(msg string, keyvals ...interface{}) error
Error(msg string, keyvals ...interface{}) error
}
type tmLogger struct {
srcLogger kitlog.Logger
}
// Interface assertions
var _ Logger = (*tmLogger)(nil) // What is this?
// ... interface definition ...
Run Code Online (Sandbox Code Playgroud)
什么是"接口断言"?
假设我有以下映射:
{
"mappings": {
"_doc": {
"properties": {
"id": {"type": "keyword"},
"params": {
"type": "object",
},
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
params
有很多带有数字和文本值的字段。我不想指定它的所有字段,但我想指定所有文本字段都应该是类型,keyword
而不是text
默认类型并进行分析(我想避免)。
我怎样才能做到这一点?我正在使用 ElasticSearch 6.7
我有这段简单的代码 jQuery
$(document).ready(function() {
$('#switcher').click(function(event) {
if ($(event.target).is('.button')) {
$('body').removeClass();
if (event.target.id == 'switcher-narrow') {
$('body').addClass('narrow');
}
$('#switcher .button').removeClass('selected');
$(event.target).addClass('selected');
}
});
});
Run Code Online (Sandbox Code Playgroud)
对于这个HTML代码:
<body>
<div id="switcher" >
<h3>Style Switcher</h3>
<div class="button selected" id="switcher-default">
Default
</div>
<div class="button" id="switcher-narrow">
Narrow Column
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
我有一个非常简单但棘手的问题(至少对我而言):body
指的是什么?
我想它会封装所有东西,#switcher
但是我的h3
风格会在点击时消失.
我有一个任务是编写一个使用单个内连接和交叉连接的查询.我已经写过的应该返回相同结果的查询如下所示:
SELECT T.PRICE, S.ROW, S.NUMBER, M.TITLE
FROM
[cinema_no_keys].[dbo].[TICKET] T cross join
[cinema_no_keys].[dbo].[MOVIE] M cross join
[cinema_no_keys].[dbo].[SEAT] S cross join
[cinema_no_keys].[dbo].[SHOW] SH
WHERE
T.ID_SEAT = S.ID_SEAT AND
M.ID_MOVIE = SH.ID_MOVIE AND
SH.DATE_HOUR = T.DATE_HOUR
Run Code Online (Sandbox Code Playgroud)