如果用户输入了错误的 AES 解密密钥,就会产生一些垃圾数据。我想验证给定的解密密钥并在密钥不正确时抛出错误。如何验证用户输入的密钥?
我指的是这段特定的代码:
该代码基本上具有三个线程1.与服务器进行一些握手2.从XML文件加载数据。3.对从XML加载的数据进行处理。如我们所见,任务1不依赖于任何其他任务,但是任务3依赖于任务2。因此,这意味着任务1和任务2可以由不同的线程并行运行以提高应用程序的性能。因此,应用程序被构建为多线程的。
#include <iostream>
#include <thread>
#include <functional>
#include <mutex>
#include <condition_variable>
using namespace std::placeholders;
class Application
{
std::mutex m_mutex;
std::condition_variable m_condVar;
bool m_bDataLoaded;
public:
Application()
{
m_bDataLoaded = false;
}
void loadData()
{
// Make This Thread sleep for 1 Second
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
std::cout<<"Loading Data from XML"<<std::endl;
// Lock The Data structure
std::lock_guard<std::mutex> guard(m_mutex);
// Set the flag to true, means data is loaded
m_bDataLoaded = true;
// Notify the condition variable
m_condVar.notify_one();
}
bool isDataLoaded()
{
return m_bDataLoaded;
} …Run Code Online (Sandbox Code Playgroud) 我有两个类,其中一个类有另一个类的对象作为数据成员,它的构造函数接受类对象来初始化数据成员对象。
class x{
public:
x(int a, int b)
{ cout << a << b;}
};
class y{
x temp;
y(x& o){ this-> temp = o;}
};
Run Code Online (Sandbox Code Playgroud)
但编译器在 y::y(x&) 中显示错误:没有匹配的函数来调用 x::x()
我正在使用代码块 16.01