草庐IT

weak_table_t

全部标签

c# - 将 Linq.Table 序列化为 XML

我有一个非常简单的应用程序,目前只有一个基于单个表的LinqtoSql类。我需要使用LinqToSql类的DataContext序列化(到XML)表中的所有行。我该怎么做?这是我当前的代码:vardb=newMyEntityDataContext();Streamfs=newFileStream("Output.xml",FileMode.Create);XmlWriterwriter=newXmlTextWriter(fs,Encoding.Unicode);serializer=newXmlSerializer(typeof(MyEntity));foreach(varrowind

c# - EF 代码优先 : Add row to table with a non-identity primary key

为了将这个问题简化为一个简单的版本,我创建了这个表:createtableTestTable(idintprimarykey,descrvarchar(50))请注意,id字段不是身份字段。现在,如果我尝试使用EFCodeFirst插入一行:[Table("TestTable")]publicclassTestTable{[Key]publicintid{get;set;}publicstringdescr{get;set;}}publicclassTestContext:DbContext{publicTestContext(stringconnectionString):base(

c# - 代码优先 : Mapping entities to existing database tables

我在现有数据库中以代码优先的方式使用EntityFramework6,但在将我的实体映射到数据库表时遇到问题。通常,我会使用数据库优先的方法并生成我的实体和上下文代码,但使用设计器已成为一个巨大的痛苦。我已设置Database.SetInitializer(null),因为我不希望EF更改我的架构。数据库架构:代码优先:publicclassProject{publicintProjectId{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}}publicclassReleaseControlCon

c++ - 用于将 weak_ptr 应用于 unique_ptr 的内容

我试图理解c++11中的unique_ptr、shared_ptr和weak_ptr。我听说weak_ptr对于缓存和中断循环等事情会很好。我听说它们与shared_ptrs配合得很好。但是在这方面,shared_ptrs和unique_ptrs有什么区别呢?为什么weak_ptr只能与一个一起使用而不能与另一个一起使用?为什么我不想对其他人拥有的东西进行弱引用? 最佳答案 weak_ptr在技术上是一种卡在管理某些共享对象的一组shared_ptr的引用计数器上的方法。当最后一个shared_ptr被销毁时,对象被销毁,但只要有w

c++ - Boost weak_ptr在多线程程序中实现资源池

我正在考虑使用boost::weak_ptr来实现一个对象池,这样当没有人使用其中一个对象时,它们就会被回收。不过,我担心的是,它是一个多线程环境,而且似乎在指向超出范围的对象的最后一个shared_ptr与从weak_ptr构造的新shared_ptr之间存在竞争条件。通常,您会使用锁或其他东西来保护此类操作;然而,这里的重点是您不知道shared_ptr何时可能超出范围。我对boost::shared_ptr和boost::weak_ptr有什么误解吗?如果没有,有人对做什么有什么好的建议吗?谢谢。安德鲁 最佳答案 要使用wea

c++ - 如何将 boost::weak_ptr 转换为 boost::shared_ptr

我有一个shared_ptr和一个weak_ptrtypedefboost::weak_ptrclassnamePtr;typedefboost::shared_ptrxPtr;如何将weak_ptr转换为shared_ptrshared_ptr=weak_ptr;Xptr=classnameptr;????? 最佳答案 已经说过了boost::shared_ptrptr=weak_ptr.lock();如果你不想要异常或者只是使用强制转换构造函数boost::shared_ptrptr(weak_ptr);如果弱指针已经被删除,这

c++ - 为什么在锁定 weak_ptr 时会出现访问冲突?

我有一个std::weak_ptr。在尝试使用底层对象之前,我锁定它以获得shared_ptr:autofoo_sharedptr=foo_weakptr.lock();if(foo_sharedptr!=nullptr){//dostuffwithfoo}通常这很好用。但是,有时我在锁定调用期间遇到访问冲突:Unhandledexceptionat0x00007FF91F411BC3(My.dll)inMy.exe:0xC0000005:Accessviolationreadinglocation0xFFFFFFFFFFFFFFFF.我的猜测是底层指针被删除了,但是我对weak_pt

C++ 模板参数和偏特化 : strong or weak typing?

今天,我和我的一个friend在一个愚蠢的错误上苦苦挣扎,我想知道模板参数在C++中是如何工作的。考虑以下代码,我在其中尝试部分特化类attr>其中I是一个unsignedint,虽然MyClass期望一个int参数:#includetemplateclassMyClass{};templatestructattr;templatestructattr>{};intmain(intargc,char*argv[]){attr>att;return0;}g++失败并显示错误消息main.cpp:Infunction‘intmain(int,char**)’:main.cpp:20:22:

c++ - 使用 shared_ptr 和 weak_ptr 来管理 std::function 的生命周期是否安全?

我已经围绕boost::asio::io_service创建了一个包装器来处理OpenGL应用程序的GUI线程上的异步任务。任务可能是从其他线程创建的,因此boost::asio似乎是这个目的的理想选择,这意味着我不需要编写自己的带有关联互斥锁和锁定的任务队列。我想将每帧完成的工作保持在可接受的阈值以下(例如5毫秒),所以我调用poll_one直到超出所需的预算,而不是调用run.据我所知,这需要我调用reset每当发布新任务时,这似乎运作良好。因为它很短,这里是全部内容,没有#include:typedefstd::functionVoidFunc;typedefstd::share

c++ - 从 shared_ptr 到 weak_ptr 多态性的转换

我很难解决这个问题。假设我有这个vectorstd::vector>cars;Car是一个抽象类。我希望能够返回不同类型的弱指针,所以我执行以下操作。templatestd::weak_ptrGetCar(){for(std::vector>::iteratorit=cars.begin();it!=cars.end();++it){T*derived=dynamic_cast((*it).get());if(derived!=nullptr){std::weak_ptrcarPointer=*it;returncarPointer;}}returnstd::weak_ptr();}但