题目用优先队列优化普通的广搜就可以过了。#include#include#includeusing namespace std;#includestruct pq{ int x,y,val; friend bool operator b.val; }};priority_queu...
分类:
其他好文 时间:
2014-10-09 02:41:07
阅读次数:
148
26.当心潜在的二义性。
一些潜在的二义性的例子:
class A{
public:
A(const B&);
};
class B{
public:
operator A() const;
};
void f(const A&);一般情况下,这样写不会出错,但当调用f函数传入一个 B的对象b时,就会发生二义性错误,b既可以通过A的构造函数获得一个A的对象,也可以通过B的类型转换运算符来将...
分类:
编程语言 时间:
2014-10-08 17:50:55
阅读次数:
157
一 网络名称显示这部分比较复杂,Spec对这也有明确的规定,根据其优先级由高往低介绍(其优先级参考TS 22.101),
1. Enhanced Operator Name String,也就是Eons。此种方式的名称是存放在EF_PNN(PLMN Network Name, fid: 6FC5)和EF_OPL(Operator PLMN List, fid: 6FC6)中。
EF...
分类:
其他好文 时间:
2014-10-08 12:16:35
阅读次数:
341
简单实现了构造、析构、push_back、pop_back、operator=、operator[]、clear等函数...
分类:
其他好文 时间:
2014-10-07 15:15:53
阅读次数:
193
题意:
要求构造一张n个点m条有向边的图,满足如下条件:
每对点间最多有一条边;
没有自环;
从任意一点出发,可以到达其他所有点;
m条边的权值为1,2,3,...,m,所有边的权值都不同;
从任意一点出发,最后要回到该点;
所有回路的权值和为3的倍数。
分析:
随便YY下就行了。
先构造1->2->3->4->...->n->1的环,边权依次为1,2,3,4,...,n;然后调整权值为n的边(当然也可已调整其他的边,这里只是为了方便),使得该环的权值和为3的倍数。然后按模3的余数对于剩下的边权分类,对于任...
分类:
其他好文 时间:
2014-10-06 23:25:11
阅读次数:
260
10.如果写了operator new,就要同时写operator delete。
为什么要写自己的operator new和delete,首先这不叫重载,这叫隐藏。 new只是用来申请空间,而构造函数是在申请的空间的基础上继续初始化。
为了效率。缺省的operator new 进行内存分配是并不仅仅分配一块所需大小的内存,因为delete释放内存时要知道指针所指向内容的大小,所以,n...
分类:
编程语言 时间:
2014-10-06 22:07:40
阅读次数:
233
implicit关键字用于声明隐式的用户定义类型转换运算符。(explicit反之)explicit则用于显示转换用户自定义类型。static implicit operator target_type( source_type identifier ){......}隐式转换可以通过消除不必要的类...
分类:
其他好文 时间:
2014-10-06 20:42:10
阅读次数:
207
1、 仿函数
仿函数又名函数对象,具有函数性质的对象,就是传入一些参数,然后对参数进行某些运算,然后返回一个值。为了能够使行为类似函数,需要在类别定义中必须自定义function call 运算子operator()。
仿函数有如下几类:算术类仿函数(plus、minus)关系运算类仿函数(equal_to、less)逻辑运算类仿函数(logical_and、logical_or、logica...
分类:
其他好文 时间:
2014-10-06 16:42:50
阅读次数:
231
一.类模板
C++中可以将模板的思想应用与类,使得类可以不关注具体所操作的数据类型,而只关注类所实现的功能。
C++中的类模板
---- 提供一种特殊的类以相同的行为处理不同的类型
---- 在类声明前使用template进行标识
---- 用于说明类中使用的泛指类型T
template
class Operator
{
public:
T ...
分类:
其他好文 时间:
2014-10-06 15:03:30
阅读次数:
167
采用自定义的operator运算符实现自己的内存分配策略,在某些时候可以提高程序的效率。C++中的new运算符,具体工作流程如下:1.调用operator new申请原始内存2.调用place new表达式,执行类的构造函数3.返回内存地址而delete操作符的工作是:1.调用对象的析构函数2.调用...
分类:
其他好文 时间:
2014-10-05 19:54:28
阅读次数:
262