周末总结_排序_DLL的写法_函数传参传引用

   有很多排序算法,最常用的还是冒泡;往往在实际中排序的时候,不单单是数字的排序,比如说:有一群人,人被抽象为一个类(CPeple),有很多属性:姓名,年龄,身高,性别,等等;这群人需要根据年龄来排序,那每一个人就是一个对象;很容易想到一个方法是将这个群人(对象)装到一个vector中,然后取出年龄,根据年龄,使用冒泡算法,根据年龄大小比较后,交换两个对象。。这样以来就有一个问题,对象交换的话会不会比较慢;如果数据量很大的话,不只选择哪种排序算法会影响到效率,交换两个对象的话也会影响到效率。。关于交换对象这两个问题该怎么解决??

最后觉得还是采用map<int,vector<CPeople>> ,因为map由红黑树保证,放入map后就会自动排好序,这样就避免了各种问题吧,自己也不用写排序算法了。。

························································································································。。。。

周末了,这周主要改了一些软件的bug,没涉及到什么算法问题;

学习:函数传参数的时候,如果不改变变量的值,最好传const& :因为如果不是传引用,实参一般都会生成一个副本传给函数,需要调用类的拷贝构造函数,函数结束的是时候还要进行析构,这样效率就降低了,如果是c++自己的类型的话,效率不会影响太大,但是如果是自己定义的类型,这个类型很大的话,那就会影响到效率。。。

编写DLL:#pragma once

#ifndef GLOBAL_DLL

#define GLOBAL_DLL

#ifdef GLOBAL_DLL   //GLOBAL_DLL:如果这里的名字跟#define的名字不一样,则需要将这里的这个变量复制到Project->Setting->c/c++选项卡->Processer //definition 下

#define GLOBAL_DLL_API _declspec(dllexport)

#else

#define GLOBAL_DLL_API _declspec(dllimport) 

#endif

#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值