iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎样创建Visual C++项目
  • 518
分享到

怎样创建Visual C++项目

2023-06-17 17:06:42 518人浏览 独家记忆
摘要

本篇内容主要讲解“怎样创建Visual c++项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎样创建Visual C++项目”吧!它将指针包装成了类,并且重载了反引用(dereference

本篇内容主要讲解“怎样创建Visual c++项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎样创建Visual C++项目”吧!

它将指针包装成了类,并且重载了反引用(dereference)运算符operator *和成员选择运算符operator ->,以模仿指针的行为

例如以下Visual C++代码,

#include < cstring > #include < memory > #include < iOStream > class string  {  public:  string(const char* cstr) { _data=new char [ strlen(cstr)+1 ]; strcpy(_data, cstr); }  ~string() { delete [] _data; }  const char* c_str() const { return _data; }  private:  char* _data;  };  void foo()  {

由于str是函数的局部对象,因此在函数退出点生存期结束,此时auto_ptr<string>的析构函数调用,自动销毁内部指针维护的string对象(先前在构造函数中通过new表达式分配而来的),并进而执行string的析构函数,释放为实际的字符串动态申请的内存。在string中也可能管理其他类型的资源,如用于多线程环境下的同步资源。

auto_ptr < string > str1( new string( < str1 > ) );  cout << str1->c_str();  auto_ptr < string > str2(str1); // str1内部指针不再指向原来的对象  cout << str2->c_str();   cout << str1->c_str(); // 未定义,str1内部指针不再有效

现在我们拥有了最简单的废料收集机制(我隐瞒了一点,在string中,你仍然需要自己编码控制对象的动态创建和销毁,但是这种情况下的准则极其简单,就是在构造函数中分配资源,在析构函数中释放资源,就好像飞机驾驶员必须在起飞后和降落前检查起落架一样。),即使在foo函数中发生了异常,str的生存期也会结束,C++保证自然退出时发生的一切在异常发生时一样会有效。

auto_ptr<>只是智能指针的一种,它的复制行为提供了所有权转移的语义,即智能指针在复制时将对内部维护的实际指针的所有权进行了转移,例如:

template < typename T > class shared_ptr  {  private:    class implement  // 实现类,引用计数    {    public:      implement(T* pp):p(pp),refs(1){}            ~implement(){delete p;}            T* p; // 实际指针      size_t refs; // 引用计数    };    implement* _impl;        public:    explicit shared_ptr(T* p)      :  _impl(new implement(p)){}          ~shared_ptr()    {      decrease();  // 计数递减    }          shared_ptr(const shared_ptr& rhs)      :  _impl(rhs._impl)    {      increase();  // 计数递增    }

某些时候,需要共享同一个对象,此时auto_ptr就不敷使用,由于某些历史的原因,Visual C++的标准库中并没有提供其他形式的智能指针,走投无路了吗?在main()函数中,先调用foo1(val),函数中使用了一个局部对象temp,它和val共享同一份数据,并修改了实际值。

函数返回后,val拥有的值同样也发生了变化,而实际上val本身并没有修改过。然后调用了foo2(val),函数中使用了一个无名的临时对象创建了一个新值,使用赋值表达式修改了val,同时val和临时对象拥有同一个值,函数返回时,val仍然拥有这正确的值。

到此,相信大家对“怎样创建Visual C++项目”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎样创建Visual C++项目

本文链接: https://www.lsjlt.com/news/291511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎样创建Visual C++项目
    本篇内容主要讲解“怎样创建Visual C++项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎样创建Visual C++项目”吧!它将指针包装成了类,并且重载了反引用(dereference...
    99+
    2023-06-17
  • Visual Studio怎么创建C/C++项目
    这篇文章主要讲解了“Visual Studio怎么创建C/C++项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Visual Studio怎么创建C/C++项目”吧!1...
    99+
    2023-07-05
  • Visual Studio创建WPF项目
    一、简介 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它...
    99+
    2022-11-13
  • 基于Visual studio创建API项目
    API(英文全称:Application Programming Interface,中文:应用程序编程接口) 为什么要 通过API接口可以与其他软件实现数据相互通信,API这项技术能够提高开发效率。 本文是基于vs2017 .net平台搭...
    99+
    2023-08-30
    c#
  • android studio怎么创建C++项目
    这篇文章主要介绍“android studio怎么创建C++项目”,在日常操作中,相信很多人在android studio怎么创建C++项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”a...
    99+
    2023-07-02
  • 怎样创建Visual Studio 2010 Ultimate Beta 2
    今天就跟大家聊聊有关怎样创建Visual Studio 2010 Ultimate Beta 2,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下面主要讲述Visual Studio ...
    99+
    2023-06-17
  • Visual C++项目可以做什么
    这篇文章主要讲解了“Visual C++项目可以做什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Visual C++项目可以做什么”吧!Visual Studio 2010还是比较常用的...
    99+
    2023-06-17
  • VisualStudio如何创建C/C++项目问题
    目录1. 打开软件Visual Studio2.语言选择C++3.选择空项目4.填写项目名称5.创建成功后6.上一步创建了一个main.c文件并且添加到了项目中7.在main.c的编...
    99+
    2023-02-24
    Visual Studio 创建C/C++项目 Visual Studio创建C项目
  • visual studio如何创建c语言
    这篇文章主要介绍了visual studio如何创建c语言,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。visual studio创建c语言程序的方法:首先打开VS主程序,选...
    99+
    2023-06-14
  • openPNE怎么创建项目
    这篇文章主要讲解了“openPNE怎么创建项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“openPNE怎么创建项目”吧!不知道你们有没有用过openPNE,其实我们可以使用openPNE...
    99+
    2023-06-20
  • pycharm怎么创建项目
    创建项目步骤:1、打开PyCharm;2、在欢迎界面,点击“Create New Project”按钮,或者在菜单栏中选择“File” > “New Project”;3、在弹出的对话框中,选择您的项目类型,然后点击“Next”;4、选择项...
    99+
    2023-12-09
    pycharm 项目
  • androidstudio创建C++项目的实现示例
    目录一、创建Native C++工程二、配置工程环境三、运行代码四、下载C++运行依赖的工具包五、创建虚拟机六、运行代码问题一:如果启动虚拟机后,而左上角的虚拟机没有加载出来。问题二...
    99+
    2022-11-13
  • django创建项目
    Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:       Model(模型):负责业务对象与数据库的对...
    99+
    2023-01-30
    项目 django
  • 创建simplecmdb项目
    创建simplecmdb项目一、创建项目simplecmdb,创建一个应用,startapp hostinfo,在setting中添加应用[root@133 ]# cd /op...
    99+
    2022-10-18
  • pycharm怎么创建Django项目
    要在PyCharm中创建Django项目,请按照以下步骤操作:1. 打开PyCharm并点击"Create New Project"...
    99+
    2023-08-09
    pycharm Django
  • idea怎么创建spring项目
    要创建一个Spring项目,可以按照以下步骤进行:1. 确保你已经安装了Java开发环境(JDK)和Maven构建工具。如果没有安装...
    99+
    2023-09-21
    spring idea
  • nodejs中怎么创建项目
    作为一个开发者,当你决定使用 Node.js 来进行后端开发时,第一步就是创建一个新的项目。有许多不同的方法来完成这个任务,但是在本篇文章中,我们将讨论最常见的方法。在开始之前,确保你已经安装了 Node.js。如果你还没有安装,可以前往官...
    99+
    2023-05-14
  • idea怎么创建maven项目
    要创建一个Maven项目,你可以按照以下步骤进行操作:1. 安装Maven:首先,确保你的计算机上已经安装了Maven。你可以在Ma...
    99+
    2023-10-11
    idea maven
  • idea怎么创建springboot项目
    要创建一个Spring Boot项目,可以按照以下步骤进行操作: 确保已安装Java Development Kit(JDK)并...
    99+
    2023-10-27
    idea springboot
  • pycharm怎么创建新项目
    这篇文章主要介绍“pycharm怎么创建新项目”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pycharm怎么创建新项目”文章能帮助大家解决问题。pycharm创建新项目的方法:首先打开pychar...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作