C++编程中的数据共享方法全面总结

3540 人浏览 | 时间: 2015-06-07 19:20:23 | 作者: codexia

    在做软件时,经常会需要进行数据共享。函数、类和对象之间经常会涉及到数据传递和共享的问题。处理得好可以让编程效率很高,逻辑很清楚,处理的不好,会让程序千丝万缕,缠缠绵绵无绝期,会让开发者头痛不已。由于数据共享带来的问题一般也很隐蔽,不会造成语法错误或者很少造成语法错误,主要造成的是逻辑错误,出现的错误是在数据显示上达不到自己的要求。
    C++语言因为有类的存在,因而和C语言的数据共享有一定的差别,并且相比C语言来说要更复杂些。初学者基本就对各部分的概念都模模糊糊的,更别说能都从整体上来把握。因为今天做软件设计到多个类之间进行数据传递和共享,因此借此机会将这部分的内容进行总结,分享给初学者,以助其能够有个整体的认识和高效的学习。如果你是高手,请自行绕过,如果你有兴趣,欢迎批评指正。
    数据共享,顾名思义,是在不同的模块之间共享数据。可以是对同一个数据轮流替换操作,或者是将数据进行传递。这里不讨论程序之间的数据共享。数据共享其实就是变量之间的共享和传递。共享指代变量的传递和变量的直接轮流操作,下面都直接使用共享一词。数据传递表示不改变原有数据变量,数据共享表示直接操作原始数据变量,可能改变原始变量。


    C++中需要共享的对象通常是函数之间、类之间、对象之间、函数与类之间、函数与对象之间和对象与类之间


    首先,函数之间的数据共享。我们从最简单的函数之间的数据共享说起。
    第一,函数之间如果需要进行数据共享,通过参数传递和返回值就可以做到。如果直接传递变量,那么就是对原来变量的一份复制,传递进函数之后对传递进去的变量的操作不影响原有的变量。这样可以做到数据的传递,对于占内存较小的变量可以使用这种方法。这样就进行了数据传递。如果要达到操作原有数据,实现轮流操作的功能,那么就可以通过返回值将操作后的值返回给调用函数去赋值给原始的值,这样就实现了轮流操作。其他函数也可以通过这种方法进行操作。这样就实现数据共享。
    第二,函数之间如果需要进行数据共享,还可以通过传递指针或者引用做到。指针这一类型,C语言和C++语言是一致的。通过传递原始变量的地址,给被调函数使用,就可以对原始数据进行操作,实现轮流操作,从而实现数据共享。如果只是想传递数据,而不想改变或者不能改变或者避免改变原始数据,也是可以通过指针进行数据操作,只要不执行赋值操作即可。但是为了防止原始数据被修改,使用const指针是一个不错的选择。const指针是一个指向常量的指针,本身的值即指向是可以改变的,但是不能通过指针改变被指向的变量。这样就可以很好的防止数据被修改。一旦有修改变量的意图,系统将会报错。而变量的直接传递是不会影响到原有变量的,但是为什么还要用指针来实现数据传递呢?因为在很多时候,比如传递一首歌曲或者一部电影,那么每个数据分片都比较大的,直接进行变量的传递,将会产生很大的系统开销,会占据很多内存,执行效率就很低。而使用指针只需要产生一个指针变量,指向原始的数据分片,不产生多余的一份,自然就节省内存,一方面减少内存的消耗,另一方面节省了传递数据的时间,效率非常高。这样

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读