当前位置:文档之家› auto_ptr智能指针

auto_ptr智能指针

auto_ptr智能指针
auto_ptr智能指针

C++智能指针(auto_ptr)详解

(2012-04-19 23:29:16)

转载▼

标签:

分类:软件程序

c

auto_ptr

智能指针

内存

it

智能指针(auto_ptr)这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。

1. auto_ptr是什么?

auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被分给两个拥有者。当auto_ptr对象生命周期结束时,其析构函数会将auto_ptr对象拥有的动态内存自动释放。即使发生异常,通过异常的栈展开过程也能将动态内存释放。auto_ptr不支持new 数组。

2. auto_ptr需要包含的头文件?

#include

3. 初始化auto_ptr对象的方法?

1) 构造函数

1] 将已存在的指向动态内存的普通指针作为参数来构造

int* p = new int(33);

auto_ptr api(p);

2] 直接构造智能指针

auto_ptr< int > api( new int( 33 ) );

2) 拷贝构造

利用已经存在的智能指针来构造新的智能指针

auto_ptr< string > pstr_auto( new string( "Brontosaurus" ) );

auto_ptr< string > pstr_auto2( pstr_auto ); //利用pstr_auto来构造pstr_auto2因为一块动态内存智能由一个智能指针独享,所以在拷贝构造或赋值时都会发生拥有权转移的过程。在此拷贝构造过程中,pstr_auto将失去对字符串内存的所有权,而pstr_auto2将其获得。对象销毁时,pstr_auto2负责内存的自动销毁。

3) 赋值

利用已经存在的智能指针来构造新的智能指针

auto_ptr< int > p1( new int( 1024 ) );

auto_ptr< int > p2( new int( 2048 ) );

p1 = p2;

在赋值之前,由p1 指向的对象被删除。赋值之后,p1 拥有int 型对象的所有权。该对象值为2048。 p2 不再被用来指向该对象。

4. 空的auto_ptr 需要初始化吗?

通常的指针在定义的时候若不指向任何对象,我们用Null给其赋值。对于智能指针,因为构造函数有默认值0,我们可以直接定义空的auto_ptr如下:

auto_ptr< int > p_auto_int; //不指向任何对象

5. 防止两个auto_ptr对象拥有同一个对象(一块内存)

因为auto_ptr的所有权独有,所以下面的代码会造成混乱。

int* p = new int(0);

auto_ptr ap1(p);

auto_ptr ap2(p);

因为ap1与ap2都认为指针p是归它管的,在析构时都试图删除p, 两次删除同一个对象的行为在C++标准中是未定义的。所以我们必须防止这样使用auto_ptr。

6. 警惕智能指针作为参数!

1) 按值传递时,函数调用过程中在函数的作用域中会产生一个局部对象来接收传入的auto_ptr(拷贝构造),这样,传入的实参auto_ptr就失去了其对原对象的所有权,而该对象会在函数退出时被局部auto_ptr删除。如下例:

void f(auto_ptr ap)

{cout<<*ap;}

auto_ptr ap1(new int(0));

cout<<*ap1; //错误,经过f(ap1)函数调用,ap1已经不再拥有任何对象了。

2) 引用或指针时,不会存在上面的拷贝过程。但我们并不知道在函数中对传入的auto_ptr 做了什么,如果当中某些操作使其失去了对对象的所有权,那么这还是可能会导致致命的执行期错误。

结论:const reference是智能指针作为参数传递的底线。

7. auto_ptr不能初始化为指向非动态内存

原因很简单,delete 表达式会被应用在不是动态分配的指针上这将导致未定义的程序行为。

8. auto_ptr常用的成员函数

1) get()

返回auto_ptr指向的那个对象的内存地址。如下例:

int* p = new int(33);

cout << "the adress of p: "<< p << endl;

auto_ptr ap1(p);

cout << "the adress of ap1: " << &ap1 << endl;

cout << "the adress of the object which ap1 point to: " << ap1.get() << endl;

输出如下:

the adress of p: 00481E00

the adress of ap1: 0012FF68

the adress of the object which ap1 point to: 00481E00

第一行与第三行相同,都是int所在的那块内存的地址。第二行是ap1这个类对象本身所在内存的地址。

2) reset()

重新设置auto_ptr指向的对象。类似于赋值操作,但赋值操作不允许将一个普通指针指直接赋给auto_ptr,而reset()允许。如下例:

auto_ptr< string > pstr_auto( new string( "Brontosaurus" ) );

pstr_auto.reset( new string( "Long -neck" ) );

在例子中,重置前pstr_auto拥有"Brontosaurus"字符内存的所有权,这块内存首先会被释放。之后pstr_auto再拥有"Long -neck"字符内存的所有权。

注:reset(0)可以释放对象,销毁内存。

3) release()

返回auto_ptr指向的那个对象的内存地址,并释放对这个对象的所有权。

用此函数初始化auto_ptr时可以避免两个auto_ptr对象拥有同一个对象的情况(与get

函数相比)。

auto_ptr< string > pstr_auto( new string( "Brontosaurus" ) );

auto_ptr< string > pstr_auto2( pstr_auto.get() ); //这是两个auto_ptr拥有同一个对象

auto_ptr< string > pstr_auto2( pstr_auto.release() ); //release可以首先释放所有权

auto_ptr智能指针

C++智能指针(auto_ptr)详解 (2012-04-19 23:29:16) 转载▼ 标签: 分类:软件程序 c auto_ptr 智能指针 内存 it 智能指针(auto_ptr)这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。 1. auto_ptr是什么? auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被分给两个拥有者。当auto_ptr对象生命周期结束时,其析构函数会将auto_ptr对象拥有的动态内存自动释放。即使发生异常,通过异常的栈展开过程也能将动态内存释放。auto_ptr不支持new 数组。 2. auto_ptr需要包含的头文件? #include 3. 初始化auto_ptr对象的方法? 1) 构造函数 1] 将已存在的指向动态内存的普通指针作为参数来构造 int* p = new int(33); auto_ptr api(p); 2] 直接构造智能指针

auto_ptr< int > api( new int( 33 ) ); 2) 拷贝构造 利用已经存在的智能指针来构造新的智能指针 auto_ptr< string > pstr_auto( new string( "Brontosaurus" ) ); auto_ptr< string > pstr_auto2( pstr_auto ); //利用pstr_auto来构造pstr_auto2因为一块动态内存智能由一个智能指针独享,所以在拷贝构造或赋值时都会发生拥有权转移的过程。在此拷贝构造过程中,pstr_auto将失去对字符串内存的所有权,而pstr_auto2将其获得。对象销毁时,pstr_auto2负责内存的自动销毁。 3) 赋值 利用已经存在的智能指针来构造新的智能指针 auto_ptr< int > p1( new int( 1024 ) ); auto_ptr< int > p2( new int( 2048 ) ); p1 = p2; 在赋值之前,由p1 指向的对象被删除。赋值之后,p1 拥有int 型对象的所有权。该对象值为2048。 p2 不再被用来指向该对象。 4. 空的auto_ptr 需要初始化吗? 通常的指针在定义的时候若不指向任何对象,我们用Null给其赋值。对于智能指针,因为构造函数有默认值0,我们可以直接定义空的auto_ptr如下: auto_ptr< int > p_auto_int; //不指向任何对象 5. 防止两个auto_ptr对象拥有同一个对象(一块内存) 因为auto_ptr的所有权独有,所以下面的代码会造成混乱。 int* p = new int(0); auto_ptr ap1(p); auto_ptr ap2(p); 因为ap1与ap2都认为指针p是归它管的,在析构时都试图删除p, 两次删除同一个对象的行为在C++标准中是未定义的。所以我们必须防止这样使用auto_ptr。 6. 警惕智能指针作为参数! 1) 按值传递时,函数调用过程中在函数的作用域中会产生一个局部对象来接收传入的auto_ptr(拷贝构造),这样,传入的实参auto_ptr就失去了其对原对象的所有权,而该对象会在函数退出时被局部auto_ptr删除。如下例: void f(auto_ptr ap) {cout<<*ap;} auto_ptr ap1(new int(0));

java《注解解析》

Java注解(Annotation) (1) Annotation(注释)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注释是以‘@注释名’在代码中存在的,根据注释参数的个数,我们可以将注释分为:标记注释、单值注释、完整注释三类。它们都不会直接影响到程序的语义,只是作为注释(标识)存在,我们可以通过反射机制编程实现对这些元数据的访问。另外,你可以在编译时选择代码里的注释是否只存在于源代码级,或者它也能在class 文件中出现。 元数据的作用 如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类: 编写文档:通过代码里标识的元数据生成文档。 代码分析:通过代码里标识的元数据对代码进行分析。 编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。 基本内置注释 @Override

Java代码 1. package com.iwtxokhtd.annotation; 2. /** 3. * 测试Override注解 4. * @author Administrator 5. * 6. */ 7. public class OverrideDemoTest { 8. 9. //@Override 10. public String tostring(){ 11. return "测试注释"; 12. } 13. } package com.iwtxokhtd.annotation; /** * 测试Override注解 * @author Administrator * */

薄荷的功效与作用

薄荷的功效与作用 薄荷主要含荨荷脑、薄荷酮等挥发油成分。 1.薄荷脑薄荷挥发油.主要为薄荷脑.占62%,又称薄荷醇。 2.薄荷酮挥发油中薄荷酮占l5%,异薄荷酮占6%。 3.其他挥发油尚含薄荷烯酮、莰烯、蒎烯、桂叶烯、柠檬烯、薄荷烷、薄荷酯类、儿茶萘酚酸、蓝香油烃等。 薄荷的作用: 记载薄荷「主贼风伤寒,发汗,治恶气心腹胀痛。」;中医也认为薄荷「性凉味辛,有宣散风热、淸头目、透疹之功」,知其具有兴奋大脑、促进血液循环、发汗,与消炎鎭痛、止痒解毒和疏散风热的作用。 一、药理作用: 1.局部作用: 薄荷水局部应用有清凉、止痒、消炎、止痛的功效。 薄荷醇能刺激皮肤神经末梢感受器,先产生凉的感觉,继而有轻微的灼热感。缓慢地透人皮内,引起长时间的充血,而达到治疗作用。 2.解热:小量薄荷能兴奋中枢神经,使周围毛细血管扩张而散热;并促进汗腺分泌而发汗。因此有降低体温的作用。 3.抗炎:薄荷所含的8种儿茶萘酚酸是有效的抗炎剂,能抑制3a一羟类固醇脱氢酶而有弱自:抗炎作用。薄荷所含的蓝香油烃对烫伤兔耳有抗炎作用。 4.薄荷能增加呼吸道黏液的分泌。祛除了附着于黏膜上的黏液,能减少泡沫痰,使呼吸道的有效通气量增大。 5.薄荷油有健胃作用,对实验性胃溃疡有治疗作用;有较强的利胆作用,还有保肝作用。 6.薄荷油有抗精子着床、抗早孕的作用,其终止妊娠的原因,是由于能明显降低绒毛膜促性腺激素的水平,也可能与促进子宫收缩和损伤了胎盘有关。 二、临床应用: 1.治疗感冒、上呼吸道感染的发热、鼻塞、头痛、咽痛等症状。 2.治疗急慢性咽喉炎、扁桃体炎、鼻炎、球结膜炎。 3.治疗各种皮炎,如过敏性皮炎、虫咬性皮炎、荨麻疹、皮肤瘙痒症、银屑病、湿疹。 4.局部应用:薄荷醇的各种制剂,局部应用治疗头痛、牙痛和皮肤瘙痒。 薄荷的功效:

2020年整理各种纯露的作用.doc

1、【玫瑰纯露】 玫瑰纯露具有平缓、静心、抚慰、抗发炎、止痒和延缓衰老的特质,它是最温和的杀菌剂和收敛剂,这些特性都使它成为良好的皮肤保养剂。最敏感的皮肤也可以安全地使用玫瑰纯露,并且它还是干性皮肤最佳的保养液。保湿、美白、亮肤、淡化斑点。用玫瑰纯露沾湿棉片,轻敷在眼睛上,可以让眼睛更明亮。 2、【薄荷纯露】 促进细胞再生,柔软皮肤,平衡油脂分泌,清洁皮肤,消毒抗菌,避免感染,促进青春痘和小伤口迅速愈合,防止留下疤痕,并能保湿、收敛毛孔,特殊清凉感觉,非常适合用于调理易生粉刺或毛孔粗大的肌肤。对发痒,发炎,灼伤的皮肤有缓解的功效。

3、【洋甘菊纯露】 是敏感皮肤MM的最爱。有些沉厚的药味比起其他纯露来说相对容易接受。洋甘菊纯露、可不稀释直接使用,它能减轻烫伤、水泡,发炎的伤口,柔软皮肤,治疗创伤的作用;能镇定晒后红肿肌肤,避免肌肤晒伤,防止黑色素沉淀;健全修复角质(比如光热敏感的皮肤,角质过薄等)、抗过敏(对发作在皮肤上的过敏表现具有安抚和治疗作用)、加强微循环(比如修复红血丝)、收敛排水(改善眼袋浮肿等)、加强新陈代谢(通过加强新陈代谢具有一定的美白效果)。

4、【茉莉纯露】 有效收缩毛孔,可以平衡皮肤的油脂分泌,帮助清洁肌肤,赶走油腻并去痘。对老化干燥肌肤有帮助,味道迷人清新,消炎,镇定,适合所有类型的肌肤。茉莉有促进循环的效果,对于干燥缺水的肌肤较为有效,她的这种活络特质,能使皮肤柔软,有弹性,改善小细纹,并且使皮肤细嫩明亮,具有优越的保湿,抗老化效果,并且对容易燥热的,甚至是有瘢痕的肌肤,都有出乎意料的效果。

5、【迷迭香纯露】 别名海洋之露。常绿灌木,株直立,叶灰绿、狭细尖状,叶片发散松树香味,自古即被视为可增强记忆的药草。春夏开淡蓝色小花。迷迭香原产于地中海沿岸,属于常绿的灌木,夏天会开出蓝色的小花,看起来好像小水滴般,所以rosmarinus在拉丁文中的意思是「海中之露」的意思。 迷迭香纯露可以对抗皮肤衰老,激活老化皮肤细胞再生、促进皮肤血液循环,亮丽皮肤效果尤佳。对皮肤细胞再生、平衡油脂分泌功效较强。对油性或混合型肌肤的PH值调节功效较好。用于头发保养可使油腻发质清爽柔顺;并能改善头皮皮肤、去除头屑、刺激毛发再生。

ICE代码详解

服务器端代码:主要包括几个大的类。 Ice::Communicator类: Ice run time的主要进入点是由本地接口 Ice::Communicator来表示的。和在客户端一样,在你在服务器中做任何别的事情之前,你必须调用 Ice::initialize,对Ice run time进行初始化。Ice::initialize 返回一个智能指针,指向一个Ice::Communicator实例:int main(int argc, char * argv[]) { Ice::CommunicatorPtr ic = Ice::initialize(argc, argv); // ... } 在离开你的main函数之前,你必须调用Communicator::destroy。 destroy操作负责结束Ice run time。特别地,destroy会等待任何还在运行 的操作调用完成。此外,destroy还会确保任何还未完成的线程都得以汇合(joined),并收回一些操作系统资源,比如文件描述符和内存。决不要让你的main函数不先调用destroy就终止;这样做会导致不确定的行为。

Ice::Application类: #include class MyApplication : virtual public Ice::Application { public: virtual int run(int, char * []) { //主要是来实现该run 的方法。 // Server code here... return 0; } }; int main(int argc, char * argv[]) { MyApplication app; return app.main(argc, argv); } Ice::Service类:

(完整word版)Mstar理论及实践篇

理论篇 ############################################################################### sp TvManager::mTvManager; 强指针sp 智能指针 在Android的源代码中,经常会看到形如:sp、wp这样的类型定义,这其实是Android中的智能指针。智能指针是C++中的一个概念,通过基于引用计数的方法,解决对象的自动释放的问题。在C++编程中,有两个很让人头痛的问题:一是忘记释放动态申请的对象从而造成内存泄露;二是对象在一个地方释放后,又在别的地方被使用,从而引起内存访问错误。程序员往往需要花费很大精力进行精心设计,以避免这些问题的出现。在使用智能指针后,动态申请的内存将会被自动释放(有点类似Java的垃圾回收),不需要再使用delete来释放对象,也不需要考虑一个对象是否已经在其它地方被释放了,从而使程序编写工作减轻不少,而程序的稳定性大大提高。 Android的智能指针相关的源代码在下面两个文件中: frameworks/base/include/utils/RefBase.h frameworks/base/libs/utils/RefBase.cpp 涉及的类以及类之间的关系如下图所示: Android中定义了两种智能指针类型,一种是强指针sp(strong pointer),一种是弱指针(weak pointer)。其实成为强引用和弱引用更合适一些。强指针与一般意义的智能指针概念相同,通过引用计数来记录有多少使用者在使用一个对象,如果所有使用者都放弃了对该对象的引用,则该对象将被自动销毁。 弱指针也指向一个对象,但是弱指针仅仅记录该对象的地址,不能通过弱指针来访问该对象,也就是说不能通过弱智真来调用对象的成员函数或访问对象的成员变量。要想访问弱指针所指向的对象,需首先将弱指针升级为强指针(通过wp类所提供的promote()方法)。弱指针所指向的对象是有可能在其它地方被销毁的,如果对象已经被销毁,wp的promote()方法将返回空指针,这样就能避免出现地址访问错的情况。 是不是很神奇?弱指针是怎么做到这一点的呢?其实说穿了一点也不复杂,原因就在于每一个可以被智能指针引用的对象都同时被附加了另外一个weakref_impl类型的对象,这

薄荷的功效与作用

薄荷的功效与作用 薄荷的功效与作用1、少量的薄荷能够兴奋中枢神经、促进血液循环、汗腺分泌,使周围的毛细血管扩张而散热,可以用于解暑解热。因此,薄荷具有降低体温的作用。 2、薄荷里面含有薄荷醇等因子,会让人的皮肤产生清凉的作用,因此可以消炎镇痛、止痒解毒和疏散风热。 3、薄荷入茶饮,可以健胃祛风、祛痰、利胆、抗痉挛,改善感冐发烧、咽喉、肿痛,及皮肤瘙痒、腹部胀气、腹泻、消化不良、便秘等症状, 4、可以缓和头痛,促进新陈代谢,对于呼吸道的发炎症状有治疗作用; 5、降低血压、滋补心脏。 6、其淸凉香气,还可平缓紧张的情绪,使身心欢愉、帮助入眠。 7、经常吃薄荷叶做的食物,对于胆、肝都具有良好的保护作用,可以用于治疗胃溃疡。 8、薄荷叶中还含有抗炎剂,对于烧伤烫伤有奇效,不但让人不那么灼热难受,而且可以防止炎症扩散。 9、当代科学家们对大量药物进行了研究,发现薄荷叶具有阻止癌症病变处的血管生长,使癌肿瘤得不到血液的供应,最终“饥饿”而死。

薄荷的食用禁忌薄荷性凉,因此食用起来还是要注意一些禁忌,不适合的人群还是少食为好。 1、孕妇不宜过大食用,又因薄荷有克制乳汁排泄的作用,哺乳中的妇女也不宜多用。 2、肺虚咳嗽、阴虚发热多汗、血虚眩晕患者也应慎用。 3、薄荷具有提神醒脑的功效,故晩上不宜饮用过多。 薄荷的食用方法秘方1:薄荷汤。将薄荷叶清洗干净,切碎,用开水焯一下,放少许盐、香油,有神清气爽、解毒败火之功效。 秘方2:薄荷凉茶。新鲜薄荷叶清洗干净,沸水冲泡,放入适量白砂糖,自然冷却后,日服3-5杯。自然清凉解暑,通体舒坦,精力倍增。 秘方3:薄荷粥。薄荷叶15克煎汤,放入粳米60克煮粥,待粥将成时加入冰糖适量,再煮沸即可,可供早晚餐温热服食。 秘方4:薄荷冰。清水4碗煮至沸腾,加入薄荷叶煮开5分钟,将薄荷水放入冰格,做成冰粒,咽喉痛或口干时取冰粒放于口中咀嚼。夏天气温高,人们经常出入冷气的地方,很容易患上感冒。要防治感冒,又想利咽生津,最好食用薄荷冰。 秘方5:薄荷茶。用薄荷叶泡茶喝,泡法同普通茶叶一样,可以利用薄荷叶中薄荷醇、薄荷酮的疏风清热作用,而且泡茶喝之有清凉感,是清热利尿的良药。 秘方6:薄荷酒。准备薄荷油10克,米酒50毫升,黄酒0.05升,将薄荷油与米酒、黄酒兑在一起,早晚空腹饮用即可,有清热、解毒、健胃、清咽的功效。

各种花水的功效解说,以及品牌解说

玫瑰花水主要就是滋润/补水/美白/长期用还有淡斑保持肌肤柔嫩光泽的效果,有紧实肌肤抗皱的功效所以成熟肌肤 橙花花水主要就是去黄提亮去黄提亮=增加细胞活性促进细胞再生,从而可以让肤色变亮/变白/,去痘印增强弹性,均衡肤色。如果现在不起痘痘,可以用橙花花水祛痘印。想变白,可以用橙花花水。想收毛孔,用橙花花水+海藻胶可以收毛孔用着也好冬天也适合用干皮敏感皮都适合。,按小蛮的话说效果堪比海蓝之谜。三明治的补水效果很好,收毛孔,美白,祛痘印。 薰衣草花水:痘痘肌的救星水,治疗青春痘淡化疤痕,镇定肌肤,舒缓抗敏、保湿,杀菌,消炎,平衡油脂分泌,收敛毛孔,抑制细菌生长,促进细胞再生避免青春痘和伤口留下疤痕,最适合混合性偏油,油性,痘痘肌。 永久花:抗菌、消炎、抗病毒、促进细胞再生能力的非凡美容功效。 天竺葵:保湿水润收缩血管对敏感和红血丝的皮肤会有帮助。 洋甘菊:抗敏修复红血丝排水消浮肿,收敛净化肤色适合敏感肌和红血丝。

金缕梅:身兼了收细毛孔和二次清洁的功效,它是一款良好的抗氧化剂,也以消肿、收缩和镇静,让皮肤水嫩又紧致。 品牌的特征: bf橙花和bh橙花的区别,功效差不多,bh浓度更大,用起来刺痛的感觉也比bf的还明显。bf橙花总体上比bh要好那么一点点了,但价格也要高一点。也就是说,Bh就等于是bf的平价版了。但是BH 是英国芳疗协会 ATC 003号成员,信誉不错的啦。 O家的产品比较齐全,各种花水精油,口碑比较好,有很多喜欢她家的客人。 Q家的性价比比较高,实惠又好用.也是英国芳疗协会 ATC 001号D 的成员哦~ 总之长期坚持敷花水膜可以非常明显的改善肌肤各种不好的状态,油田变润田毛孔变细小,干皮变湿皮不再干燥,超级好用!相当好用!!绝对好用!!!真心好用!!!!

MFC实现SQL数据库ADO连接

VC MFC实现SQL数据库ADO连接(完整版)关于vc6.0中实现ADO SQL数据库连接的文章网上虽然很多,但大多写的很繁琐,对于我们这样的菜鸟来说,还是很希望有一篇简单化的文章的。希望跟我一样的菜鸟们学得开心! 源代码文件链接: 概述: 要在一个vc工程中实现数据库的连接,最好的方式是在新建一个用于连接数据库的类比如ADOConn,需要连接数据库的时候将这个类实例化就可以了。 操作:新建一个ADOConn的对象,比如ADOConn ac;。然后再引用些对象就可以实现相应的操作了。 实践过程: (一)目的:封装一个自己的类。 在vc6.0中新建一个基于对话框的mfc工程,然后点击菜单栏->插入->类(mfc类)。 然后在“类的类型”中选择Generic Class,名称为ADOConn。 此后会在vc左边视窗的“Source Files”中多出一个ADOConn.cpp的文件,在"Header Files"中多出一个“ADOCon.h”的文件。 如果是用VS2013来创建工程的情况: VS2013中添加类:

右击myMFC(新建的项目)——添加——类——MFC类。 (二)打开ADOConn.h(即编辑ADOConn类的头文件) (1)在第一行加入(用于vc支持ado连接) 这句话意味使用msado15.dll动态连接库文件,里面就有ADO. 如果存在问题:用VS2010的C++导入ADO导入不了,提示无法打开源文件msado15.tlh”的问题。 解决办法很简单: 在生成菜单--- 重新生成 --- 即可。 原因是: 当编译器遇到#import语句时,它会为引用组件类型库中的接口生成包装类,#import语句实际上相当于执行了API涵LoadTypeLib()。 #import语句会在工程可执行程序输出目录中产生两个文件,分别为*.tlh(类型库头文件)及*.tli(类型库实现文件),它们分别为每一个接口产生智能指针,并为各种接口方法、枚举类型,CLSID 等进行声明,创建一系列包装方法。在没有经过编译器编译之前,文件还没有生成,所以,会出现错误提示。 (2)在class ADOConn类体中添加如下代码

ppt注释的使用方法

ppt注释的使用方法 演讲PPT之前不用硬背,演讲时心里不打鼓!轻轻松松看这电脑念,下面的人却看不到,特别有面子!!!设置ppt双屏显示,使讲演者看到备注,而观众看不到,嘿嘿,演讲的时候可以作弊咯!!! 还是自己备一份,不然找起来太费劲了。。 前言:大家在看此篇文章之前心中是不是一直存有一个疑问,那就是office组件中的powerpoint(PPT)制作中的“备注”到底有何作用? 在工作中经常用PPT放映演示给客户进行讲演,也见识过专业讲师和IT销售给我介绍产品,使用的也是 PPT。但是几乎所有人的PPT使用方式还是停留在投影机上放什么,演讲者的laptop上也显示什么,演讲者要么看自己的laptop的屏幕,要么看墙上的投影。“备注”就彻底失去了作用,因为根本看不见。 出于纳闷,我就询问了几个号称是office高手这个问题,“备注”写了是给谁看的,有什么作用? 高手给出的答案竟然是“备注”用来给演讲者回忆讲演思路,或者此PPT给别人的时候别人讲演前可以先了解一下制作此PPT的作者的思路意图。 这些都是PPT的常规用法,或者说并不怎么正确的用法,下面我给大家介绍如何高效的使用PPT进行演讲,并且充分利用“备注”的作用,以期为受众作出最出色的讲解。 下面我就开始了。下面做演示用的PPT涉及某安全厂商,原因是我手头做的比较好的PPT 而且备注写的比较详细的也就这份了,我并没有用于商业用途,我也不是该厂商员工,特别声明。

第一步,在你的laptop的显示属性中进行设置。 如图所示,在连接了外部显示器或者投影仪的情况下,点击“2”号屏幕,并按照图中高亮标注处选中“将windows桌面扩展到该显示器”同时设置适当的分辨率。 单击“应用”,就可以看到如下的效果。

C++智能指针

【C++】智能指针类和OpenCV的Ptr模板类 2015-03-29 21:18 智能指针类 引用计数 智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象的指针指向同一对象。引用计数为0时,删除对象。 其基本使用规则是: 每次创建类的新对象时,初始化指针并将引用计数置为1。当对象作为另一对象的副本而创建时,复制构造函数复制指针并增加与之相应的引用计数的值。对一个对象进行赋值时,赋值操作符减少左操作数所指对象的引用计数的值(如果引用计数减至0,则删除对象),并增加右操作数所指对象的引用计数的值。最后,调用析构函数时,析构函数减少引用计数的值,如果计数减至0,则删除基础对象。 实现引用计数有两种经典策略:一是引入辅助类(包含引用计数型),二是使用句柄类(分离引用计数型)。 策略1:引用计数类 这个类的所有成员均为private。我们不希望用户使用U_Ptr 类,所以它没有任何public 成员。将HasPtr 类设置为友元,使其成员可以访问U_Ptr 的成员。 U_Ptr 类保存指针和使用计数,每个HasPtr 对象将指向一个U_Ptr 对象,使用计数将跟踪指向每个 U_Ptr 对象的HasPtr 对象的数目。U_Ptr 定义的仅有函数是构造函数和析构函数,构造函数复制指针,而析构函数删除它。构造函数还将使用计数置为1,表示一个HasPtr 对象指向这个U_Ptr 对象。 class U_Ptr { friend class HasPtr; int *ip; int use; U_Ptr(int *p):ip(p){} ~U_Ptr() { delete ip; } }; class HasPtr { public: HasPtr(int *p, int i):_ptr(new U_Ptr(p)),_val(i) {} HasPtr(const HasPtr& obj):_ptr(obj._ptr),_val(obj._val) { ++_ptr->use; } HasPtr& operator=(const HasPtr&); ~HasPtr() {

薄荷功效与作用禁忌症

薄荷功效与作用禁忌症 薄荷以清凉著称,不仅具有食用价值,而且医用价格也相当高。薄荷种类达几十种之多,我们常见的薄荷是普通薄荷,也叫土薄荷或者中国薄荷。因为薄荷属于药物,我们要知道它的功效和禁忌症,正确的使用,避免给我们的身体产生不良的影响。那么,薄荷功效与作用禁忌症有哪些? ★薄荷叶的功效与作用 1、少量的薄荷能够兴奋中枢神经、促进血液循环、汗腺分泌,使周围的毛细血管扩张而散热,可以用于解暑解热。因此,薄荷具有降低体温的作用。 2、薄荷里面含有薄荷醇等因子,会让人的皮肤产生清凉的作用,因此可以消炎镇痛、止痒解毒和疏散风热。 3、薄荷入茶饮,可以健胃祛风、祛痰、利胆、抗痉挛,改

善感冐发烧、咽喉、肿痛,及皮肤瘙痒、腹部胀气、腹泻、消化不良、便秘等症状, 4、可以缓和头痛,促进新陈代谢,对于呼吸道的发炎症状有治疗作用; 5、降低血压、滋补心脏。 6、其淸凉香气,还可平缓紧张的情绪,使身心欢愉、帮助入眠。 7、经常吃薄荷叶做的食物,对于胆、肝都具有良好的保护作用,可以用于治疗胃溃疡。 8、薄荷叶中还含有抗炎剂,对于烧伤烫伤有奇效,不但让人不那么灼热难受,而且可以防止炎症扩散。

9、当代科学家们对大量药物进行了研究,发现薄荷叶具有阻止癌症病变处的血管生长,使癌肿瘤得不到血液的供应,最终“饥饿”而死。 ★薄荷禁忌 薄荷性凉,因此食用起来还是要注意一些禁忌,不适合的人群还是少食为好。 1、孕妇不宜过大食用,又因薄荷有克制乳汁排泄的作用,哺乳中的妇女也不宜多用。 2、肺虚咳嗽、阴虚发热多汗、血虚眩晕患者也应慎用。

3、薄荷具有提神醒脑的功效,故晩上不宜饮用过多。

澳洲茶树纯露的功效及使用方法

澳洲茶树纯露的功效及使用方法 澳洲茶树纯露的功效及使用方法 ? 澳洲茶树,又叫互叶白千层、澳洲白千层,学名:Melaleuca alternifolia 桃金娘科(Myrtaceae),白千层属(MelaleucaL.)拉丁学名Tea tree,原产于澳洲沼泽地,可高达4-6公尺,树皮为革质灰白色,呈薄片状剥落。互生的叶片呈针状,长约1到3.5公分,宽小于1毫米,常绿、坚韧,呈亮绿色。当英国殖民者第一次登陆澳洲大陆的时候,发现当地土著人跟使用中国茶叶一样喜欢用它来泡水喝,于是也想当然的叫他茶树。当地人还喜欢用他来治疗各种伤口和皮肤病,逐步了解茶树具有强力的消炎杀菌功效。直到第二次世界大战抗生素发明之前,茶树都是重要的消毒杀菌来源。 澳洲茶树虽然也叫茶树,但此茶树非彼茶树,它和我们日常生活中所见的山茶树(茶油树和茶籽树),更不同于中国产茶叶的茶树。澳洲茶树的提取物,属于天然油脂,被广泛应用于日用卫生制品、皮肤保健品、化妆品、食品香料、药品、有机生物农药等诸多领域。澳洲茶树味道比较冲,有一股很强的药味,一种草味,木质,麝香的混合体。是所有纯露中

是最适合于油皮痘肌的,因为它含有茶树油及多种叶白千层植物体中的鞣质、皂甙植物糖等水溶性成分。对皮肤杀菌、消炎、收敛、调节油脂分泌及治疗暗疮并预防暗疮产生促进皮肤再生的功效非常显著,是一种天然的抗菌消炎剂;长期使用能很好的调节油性或混合型肌肤的PH值,进而帮助控制油脂的分泌。具有祛除痘印、收缩毛孔、平衡油脂的分泌、抑制痘痘的生长、消除闭合性粉刺等。改善油性肤质,抑制痘痘产生、加速痘痘消失、平衡皮脂分泌,清除阻塞毛孔的细菌,对粉刺及痘痘有极佳的治愈能力,可以治疗粉刺、皮炎、湿疹、痤疮等症状。所以,痘发的非常时期,用它还是很对路的,并且效果也是很显著的。相较于薰衣草纯露,茶树纯露无论是味道还是功效上都是比较强烈。所以,建议起痘的MM们,在起痘的密集时候使用,等痘痘消了,再用薰衣草纯露来调理一下肌肤比较好。 使用方法: 1.洁面后,直接喷洒在问题皮肤上,用来消炎、止血、控油。 2.加在乳液和膏霜、自制面膜、其他纯露里,来调节气味和增强效果。 3.随时喷洒在面部用来抗辐射,保湿。 4.喷洒在头皮上,用来控制头皮皮脂的出油,防止脱发。 5.直接滴入鼻腔,用来对抗鼻敏感和鼻窦阻塞的问题。

智能指针

在你的代码中使用Boost智能指针 Smart Pointers to boost your code(By peterchen) 翻译 masterlee Download source files - 45.3kb 正文 智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。 1、什么是智能指针 智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。 我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很复杂的。各种智能指针能够操作不同的情况。当然,智能指针能够在任务结束的时候删除对象,除了在程序之外。 许多库都提供了智能指针的操作,但都有自己的优点和缺点。Boost库是一个高质量的开源的C++模板库,很多人都考虑将其加入下一个C++标准库的版本中。 下面让我们看一个简单的例子: 2、首先介绍:boost::scoped_ptr scoped_ptr 是 Boost 提供的一个简单的智能指针,它能够保证在离开作用域后对象被释放。 例子说明:本例子使用了一个帮助我们理解的类: CSample, 在类的构造函数、赋值函数、析构函数中都加入了打印调试语句。因此在程序执行的每一步都会打印调试信息。在例子的目录里已经包含了程序中需要的Boost库的部分内容,不需要下载其它内容(查看Boost的安装指南)。

使用普通普通指针的时候,我们必须记住在函数退出的时候要释放在这个函数内创建的对象。当我们使用例外的时候处理指针是特别烦人的事情(容易忘记销毁它)。使用scoped_ptr 指针就能够在函数结束的时候自动销毁它,但对于函数外创建的指针就无能为力了。 优点:对于在复杂的函数种,使用scoped_ptr 指针能够帮助我们处理那些容易忘记释放的对象。也因此在调试模式下如果使用了空指针,就会出现一个断言。 3、引用指针计数器 引用指针计数器记录有多少个引用指针指向同一个对象,如果最后一个引用指针被销毁的时候,那么就销毁对象本身。 shared_ptr 就是Boost中普通的引用指针计数器,它表示可以有多个指针指向同一个对象,看下面的例子: void Sample2_Shared() { // (A)创建Csample类的一个实例和一个引用。 boost::shared_ptr mySample(new CSample); printf("The Sample now has %i references\n", https://www.doczj.com/doc/1711072767.html,e_count()); // The Sample now has 1 references // (B)付第二个指针给它。 boost::shared_ptr mySample2 = mySample; // 现在是两个引用指针。 printf("The Sample now has %i references\n", https://www.doczj.com/doc/1711072767.html,e_count()); // (C) 设置第一个指针为空。 mySample.reset(); printf("The Sample now has %i references\n", https://www.doczj.com/doc/1711072767.html,e_count()); // 一个引 用 // 当mySample2离开作用域的时候,对象只有一个引用的时候自动被删除。 } 在(A)中在堆栈重创建了CSample类的一个实例,并且分配了一个shared_ptr指针。对象mySample入下图所示: 然后我们分配了第二个指针mySample2,现在有两个指针访问同一个数据。 我们重置第一个指针(将mySample设置为空),程序中仍然有一个Csample实例,mySample2有一个引用指针。 只要当最有一个引用指针mySample2退出了它的作用域之外,Csample这个实例才被销毁。 当然,并不仅限于单个Csample这个实例,或者是两个指针,一个函数,下面是用shared_ptr的实例: 用作容器中。

中药薄荷的功效和作用

中药薄荷的功效和作用 中药薄荷的功效和作用1、抗癌:据英国广播公司报道,英国科学家最近发现,中药中常见的一种薄荷叶对治疗癌症有特殊的功效。薄荷叶能够阻止癌症病变处的血管生长,使癌肿得不到血液供应,最终「饥饿」而死。英国萨尔福特大学教授表示,他希望用薄荷叶制作的药物能够儘快进入临床应用。 2、抗病毒:陈祖基等人研究指出,薄荷煎剂能抑制单纯疱疹病毒感染,增大感染量则无抑制作用。国外报道,同属植物薄荷水提取物,对单纯疱疹病毒、牛痘病毒、semliki森林病毒和流行性腮腺病毒均有抑制作用,但对流感却无效。 3、促进透皮吸收作用:国外研究表明,薄荷醇能显着促进醋氨酚透皮吸收作用,对曲安缩松有显着促进吸收作用,可使柴胡的生物利用度增加,能显着促进扑热息痛的透皮吸收。这种促进透皮吸收作用可能是由于薄荷醇通过改变角质层脂质的结构改变药物的透皮渗透能力。 薄荷的食疗方法1、薄荷具有医用和食用双重功能,主要食用部位为茎和叶,也可榨汁服。在食用上,薄荷既可作为调味剂,又可作香料,还可配酒、沖茶等。薄荷粥:鲜薄荷30克或干品15克,清水1升,用中火煎成约0.5升,冷却后捞出薄荷留汁。用150克梗米煮粥,待粥将成时,加入薄荷汤及少许冰糖,煮沸即可。功效:清新怡神,疏风散热,增进食慾,帮助消化。

2、薄荷豆腐:豆腐2块,鲜薄荷50克,鲜葱3条,加2碗水煎,煎至水减半,即趁热食用。功效:可治疗伤风鼻塞、打喷嚏、流鼻涕等症。 3、薄荷鸡丝:鸡胸脯肉150克,切成细丝,加蛋清、澱粉、精盐拌匀待用。薄荷梗150克洗凈,切成同样的段。锅中油烧至5成热,将拌好的鸡丝倒入过下油。另起锅,加底油,下葱姜末,加料酒、薄荷梗、鸡丝、盐、味精略炒,淋上花椒油即可。功效:消火解暑。 4、薄荷糕:取糯米、绿豆各500克,薄荷15克,白糖25克,桂花少许。先将绿豆煮至烂熟,再加入白糖、桂花和切碎的薄荷叶做成馅备用。把糯米焖熟,放入盒内晾凉,然后用糯米饭包豆沙馅,用木槌压扁即成。功效:清凉,疏风散热,清咽利喉。 5、鲜薄荷鲫鱼汤:活鲫鱼1条,剖洗干净,用水煮熟,加葱白1根,生姜1片,鲜薄荷20克,水沸即可放调味品和油盐,汤肉一起吃。每天吃1次,连吃3~5日。功效:可治小儿久咳。 6、薄荷汤:将薄荷叶清洗干净,切碎,用开水烫一下,放少许盐,香油。功效:解毒败火。 薄荷的形态特征多年生草本。茎直立,高30-60厘米,下部数节具纤细的须根及水平匍匐根状茎,锐四稜形,具四槽,上部被倒向微柔毛,下部仅沿稜上被微柔毛,多分枝。 叶片长圆状披针形,披针形,椭圆形或卵状披针形,稀长圆形,长3-5(7)厘米,宽0.8-3厘米,先端锐尖,基部楔形至近圆形,边缘在基部以上疏生粗大的牙齿状锯齿,侧脉约5-6对,与中肋在上面微凹陷下面显著,上面绿色;沿脉上密生余部疏生微柔

古书注释的作用

古书注释的作用: 1.清人和清人以前的注释都属于古人注,简称古注。 2.古注是阅读古书的阶梯和桥梁。 3.古注接近实际,较为可靠。 4.古人注是今人注的源头,是今人注的重要依据。 5.古注有时比查字典更能解决问题 6.古书注释的发展概况: 7.古书注释开创于西汉。两汉注释古书,以解经为目的。 8.今文学派好阐发“微言大义”,注释往往繁琐冗杂。古文学派重文字训诂,简约质朴, 不离经空发,人称“朴学”、“汉学”。 9.毛亨《毛诗诂训传》,郑玄《毛诗笺》、《周礼注》、《仪礼注》、《礼记注》,何休《春秋公 羊传注》等;赵歧《孟子章句》,王逸《楚辞章名》,高诱《战国策注》、《吕氏春秋注》。 10.三国·王肃、韦昭王弼、韩康伯《易注》,杜预《春秋经传集解》,何晏《论语集解》, 裴骃《史记集解》,皇侃《论语义疏》,裴松之《三国志注》,王弼《老子注》,郭象《庄子注》,张湛《列子注》,刘孝标《世说新语注》,郦道元《水经注》;郭璞《尔雅注》、《方言注》 11.隋·刘炫《春秋左氏传述义》、《春秋规过》、《春秋攻昧》 12.唐·注书进一步发展并取得重大成就,是继两汉以后的又一高峰期。 13.孔颖达等人《五经正义》,贾公彦《周礼疏》、《仪礼疏》,徐彦《春秋公羊传疏》,杨 士勋《春秋谷梁传疏》,合称“九经义疏”。唐人义疏代表了唐代注释的最高成就。 14.司马贞《史记索隐》,张守节《史记正义》,颜师古《汉书注》,李贤《后汉书注》,杨倞 《荀子注》,成玄英《庄子疏》,李善《文选注》等。《史记索隐》、《史记正义》与南朝宋裴骃《史记集解》世称“史记三家注”。 古书注释的类型: (一)诂训类以解释词义为主 1.诂、训:侧重于字词、名物解释。诂是以今言释古言,侧重于解释单词的意义;训是对 古代词语作形象性的描绘与说明,侧重于解释由两个相同的单音节词构成的词语(重言),并兼言其比兴意义。 2.传:传述,指传述经文的文义。一般是先释字句,后明经旨。原本指解释儒家六经的书, 后也做一般的注释名称。 3.注:注释的通称。名称大致始于东汉郑玄。 4.笺:对经传简略不明的地方加以补充发挥,对不同见解的地方加以订正。

spring的@Transactional注解详细用法

spring的@Transactional注解详细用法 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! spring的@Transactional注解详细用法Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API 提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects)支持声明式事务管理,特别是基于注解的声明式事务管理,简单易用提供比其他事务API如JTA更简单的编程式事务管理API与spring数据访问抽象的完美集成事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。显然声明式事务管理要优于编程式事务管理,这正是spring

薄荷的药理作用研究进展

薄荷的药理作用研究进展 摘要:薄荷作为我国传统中药,因其具有广泛的药理作用越来越得到人们的重视。通过查阅文献本文主要针对其临床药理作用的研究进展进行综述,为进一步开发和应用薄荷在临床应用上提供更新的科学依据。 关键词:薄荷;药理作用;综述 The advance on the research of pharmacological activities of Mentha haplocalyx Abstract: Mentha haplocalyx is traditional Chinese medicine in China. more and more attention were taken for its wide range of pharmacological effects. Mainly through the literature review in this paper summarized the research progress of its clinical pharmacological effects, clinical applications provide updated scientific basis for the further development and application of mint. Key word s: Mentha haplocalyx; pharmacological activities; review 薄荷为唇形科薄荷属植物,又名水薄荷、苏薄荷、鱼香草、人丹草、升阳草、夜息花、番荷菜等。其干燥地上部分可入药,是我国常用的传统中药之一。关于薄荷的记载最早见于《唐本草》,薄荷有疏风、散热、解毒的功效。用于治疗风热感冒、头痛、咽喉肿痛、牙痛等[1]。现在广泛分布于北半球温带地区。薄荷属植物约有30种,薄荷包含了25个种,除了少数为一年生植物外,大部分均为具有香味的多年生植物。根据《中国植物志》记载,我国有薄荷属植物12种,主要分布于东北、华东、新疆地区[2]。野生的薄荷有椒样薄荷、欧薄荷、留兰香等。薄荷富含挥发油,油中主要成分为左旋薄荷醇、左旋薄荷酮、异薄荷酮等。此外薄荷还含黄酮类、有机酸和氨基酸成分[3-5].。现对近年来薄荷及其有效成分的药理作用研究做一概述。 1、中枢神经系统的作用

ADO智能指针使用详解

ADO智能指针使用详解 一、ADO接口——Connection对象(连接对象)——对应智能指针为_ConnectionPtr 在使用ADO进行操作之前,必须使用AfxOleInit()函数来进行初始化。 使用BeginTrans、CommitTrans和RollbackTrans方法可以启动、提交和回滚一个处理事务。 通过操作the Errors 集合可以获取和处理错误信息,操作CommandTimeout属性可以设置连接的溢出时间,操作ConnectionString属性可以设置连接的字符串,操作Mode属性可以设置连接的模式,操作Provider属性可以指定OLE DB提供者。 (1)Open()方法:用于打开一个库连接 _ConnectionPtr智能指针的用法: ①首先定义一个Connection类型的指针,然后调用CreateInstance()来创建一个连接对象的实例,再调用Open()函数建立与数据源的连接。 ②在建立连接对象后,可以使用连接对象的Execute()函数来执行SQL命令。 _ConnectionPtr智能指针Open()方法的原型:Open(_bstr_t ConnectionString,_bstr_t UserID,_bstr_t Password,long Options) ①ConnectionString为连接字串,UserID是用户名,Password是登陆密码 ②Options是连接选项,可以是如下几个常量: 1> adModeUnknown 缺省,当前的许可权未设置 2> adModeRead 只读 3> adModeWrite 只写 4> adModeReadWrite 可以读写 5> adModeShareDenyRead 阻止其它Connection对象以读权限打开连接 6> adModeShareDenyWrite 阻止其它Connection对象以写权限打开连接 7> adModeShareExclusive 阻止其它Connection对象打开连接 8> adModeShareDenyNone 阻止其它程序或对象以任何权限建立连接 (2)Execute()方法:用于执行SQL语句 函数原型:_RecordsetPtr Connection::Execute(_bstr_t CommandText,VARIANT* RecordsAffected,long Options) 参数: ①CommandText是命令字串,通常是SQL命令, ②RecordsAffected是操作完成后所影响的行数 ③Options表示CommandText中内容的类型,可以取下列值之一: 1> adCmdText 表明CommandText是文本命令 2>adCmdTable 表明CommandText是一个表名

相关主题
文本预览
相关文档 最新文档