草庐IT

data-protection

全部标签

c++ - 从模板化(静态)成员函数访问 protected 成员

好吧,我正在接受一种修改过的CRTP在这里路由以避免虚函数查找。但我就是无法理解它给我的一个错误...所以我正在尝试翻译:classA{public:staticvoidfoo(A*pA){pA->bar();}protected:virtualvoidbar(){TRACE0(_T("A::bar\n"));}};classB:publicA{protected:virtualvoidbar(){TRACE0(_T("B::bar\n"));}};按预期工作:classA{public:templatestaticvoidfoo(T*pT){pT->bar();}protected:

c++ - pthread_mutex_lock.c :62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed

我收到了那个错误:pthread_mutex_lock.c:62:__pthread_mutex_lock:Assertion`mutex->_data._owner==0'failed.而且我找不到任何原因。但是我不确定以下代码:声明:std::mutexlock;std::condition_variablecond;锁定和解锁的顺序:std::unique_locklk(lock);cond.wait(lk);lock.unlock();如果我删除这个序列-一切正常,但没有任何保护。我不确定我是否正确使用了unique_lock。 最佳答案

【鸿蒙】Data Ability本地数据库批量写入数据

一条一条插入数据太慢了,来试一试批量插入ValuesBucket[]valuesBouckets=newValuesBucket[10];for(inti=0;i10;i++){valuesBouckets[i]=newValuesBucket();valuesBouckets[i].putString("firstName","zhang"+String.valueOf(100+i));valuesBouckets[i].putString("lastName","san"+String.valueOf(100+i));valuesBouckets[i].putInteger("age",1

c++ - 为什么无法获得指向基类的 protected 方法的指针?

这个问题在这里已经有了答案:Accesstomethodpointertoprotectedmethod?(7个答案)关闭8年前。classA{public:A(){autotmp=&A::foo;}protected:voidfoo(){}};classB:publicA{public:B(){autotmp=&A::foo;}};ClassA编译没问题。类B产生编译错误:'A::foo':cannotaccessprotectedmemberdeclaredinclass'A'这是为什么,原理是什么?有没有办法避免这种情况(如果我需要回调指针、std::function等)?

c++ - 为什么我不能访问作为参数传递给函数的基类的 protected 成员变量?

This答案似乎表明它应该可以工作,那么为什么我的示例会引发编译器错误:classClass1{protected:longm_memberVar;};classSubClass1:publicClass1{public:voidPrintMember(Class1memberToPrintFrom){Console::Write("{0}",memberToPrintFrom.m_memberVar);//[编辑]-根据Need4Sleep的建议将子类更改为公共(public)继承,但这没有区别。 最佳答案 在这个答案中,我假设您

C++ 私有(private)和 protected 虚方法

为了分离两个客户端的接口(interface),将虚拟方法设为私有(private)似乎是件好事-1.实例化对象并调用方法的客户端2.派生自该类并可能想要覆盖该方法的客户。简单地说——第一个客户不需要知道一个方法是否是虚拟的。他将调用基类公共(public)非虚拟方法,该方法又将调用私有(private)虚拟方法。例如,请参见下面的代码。现在,如果虚方法需要向其基类的相应虚方法发送super消息,例如Save方法-它必须通过继承链中的所有虚方法才能保存对应的数据每个派生级别-我们别无选择,只能使用protected虚拟方法-除非有一种方法可以保证在所有派生级别保存数据而不使用super

c++ - 为什么 std::string_view::data 不包含空终止符?

这段代码有未定义的行为:#include#includeusingnamespacestd::string_view_literals;voidfoo(std::string_viewmsg){std::cout原因是std::string_view可以存储非空终止字符串,并且在调用data时不包含空终止符。这真的很有限,为了让上面的代码定义行为,我必须从中构造一个std::string:std::stringstr{msg};std::cout在这种情况下,这确实使std::string_view变得不必要了,我仍然必须复制传递给foo的字符串,所以为什么不使用移动语义并更改msg到

org.springframework.data.redis.RedisConnectionFailureException 解决办法

题主在测试spingdata连接redis时,遇到了org.springframework.data.redis.RedisConnectionFailureException:UnabletoconnecttoRedis;nestedexceptionisorg.springframework.data.redis.connection.PoolException:Couldnotgetaresourcefromthepool;nestedexceptionisio.lettuce.core.RedisConnectionException:Unabletoconnecttolocalhos

出现java.sql.SQLException: Connection is read-only. Queries leading to data modification are not

Springboot+mybatis修改操作时候,出现java.sql.SQLException:Connectionisread-only.Queriesleadingtodatamodificationarenotallowed;SQL[];Connectionisread-only.Queriesleadingtodatamodificationarenotallowed;nestedexceptionisjava.sql.SQLException:Connectionisread-only.QueriesleadingtodatamodificationarenotallowedCon

c++ - 如何检查类是否具有默认构造函数,公共(public)的、 protected 或私有(private)的

我需要检查一个类C有一个默认构造函数,可以是隐式的也可以是自定义的,并且可以是public,protected或private.我尝试使用std::is_default_constructible::value,如果C则返回真有一个public默认构造函数(隐式或自定义)但false如果C有一个protected或private默认构造函数(尽管接缝是标准行为。)有什么方法可以检查一个类是否有protected或private默认构造函数?注意(如果这可能有帮助):检查是从friend函数执行的类(class)C待检查。我需要执行此检查以默认构造对应于nullptr的对象m_objs的