C++基础-结构体伪函数与多线程(voidoperator()(int))C++结构体的伪函数使⽤operator进⾏创建,使⽤void operator()(int) 来表⽰需要传⼊的参数
#include<iostream>
using namespace std;
struct func{
void operator()() //⽅法, 可以将对象名当做函数名使⽤
{
cout << "hello china hello cpp" << endl;
}
void operator()(int i)
{
cout << "hello china hello cpp" << i << endl;
}
};
int main()
{
func f1;
f1();
f1(1);
func f2;
f2();
<();
}
伪函数与多线程,使⽤伪函数可以在创建的时候执⾏任务,个⼈理解,相当于是构造函数
#include <iostream>
#include<thread>
int函数啥意思#include<windows.h>
using namespace std;
struct MyStruct
{
MyStruct()
{
cout << "create" << endl;
}
~
MyStruct()
{
cout << "endl" << endl;
}
void operator()()
{
MessageBoxA(0, "ABCDEFG", "123", 0);
}
};
int main()
{
MyStruct go1;
thread t1(go1);
MyStruct go2;
thread t2(go1);
// thread t3(MyStruct()); //不适合作为多线程参数, 因为销毁的太快了
// MyStruct *p = new MyStruct();
// int a(5);
// int *p = new int(5); //()初始化,
//MyStruct 构造函数, 构造⼀个临时对象, 匿名对象
MyStruct()();
<();
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论