斐波那契数列|||川(马蹄集)

斐波那契数列|||川
难度:白银
①时间限制:1秒
巴占用内存:64M
输入一个正整数N(N<50),输出斐波那契数列前N项。
格式
输入格式:输入整型
输出格式:输出整型,空格分隔。

#include <bits/stdc++.h>
using namespace std;
int main()
{
int fib[50],N;
scanf("%d",&N);
fib[0]=1;
fib[1]=1;
for (int i=0;i<N;i++)
{
if(i>=2)
fib[i]=fib[i-1]+fib[i-2];
printf("%d ",fib[i]);
}
return 0;
}

时刻提醒自己记在用c语言,而不是c++。仅仅是为了一些库(包括stl),被迫选择的c++。

做好算法和逻辑的隔离:逻辑部分用c++,不要过早优化。算法部分用c,不要玩弄任何c++技巧。

切记不要看任何关于c++多少个技巧的书,包括loki,boost,stl源码分析之类。 任何炫技的代码,都终将走向历史垃圾堆。



作者:匿名用户
链接:https://www.zhihu.com/question/309713103/answer/587119002
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

作者:李杰
链接:https://zhuanlan.zhihu.com/p/377351152
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

  1. 类只是一个模板,编译后不占用内存空间,所以在定义类时不能对成员变量进行初始化,只有在创建类对象以后才会给成员变量分配内存,此时可以赋值。在栈上创建出来的对象都有一个名称,使用new在堆上创建处理的对象都是匿名的,必须用一个指针指向它,再借助指针来访问它的成员变量或成员函数

2、:: 被称为域解析符(也称作用域运算符或作用域限定符),用来连接类名和函数名,指明当前函数属于哪个类。成员函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前。

在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数会自动成为内联函数,在类体外定义的不会。当然,在类体内部定义的函数也可以加 inline 关键字,但这是多余的,因为类体内部定义的函数默认就是内联函数。

内联函数一般不是我们所期望的,它会将函数调用处用函数体替代,所以我建议在类体内部对成员函数作声明,而在类体外部进行定义,这是一种良好的编程习惯,实际开发中大家也是这样做的。当然,如果你的函数比较短小,希望定义为内联函数,那也没有什么不妥的。如果你既希望将函数定义在类体外部,又希望它是内联函数,那么可以在定义函数时加 inline 关键字。当然你也可以在函数声明处加 inline,不过这样做没有效果,编译器会忽略函数声明处的 inline,我们已在《如何规范地使用C++内联函数》中对这点进行了详细讲解。

3、C++11作用域内枚举例子:enum class t_shirt{small,medium,large,xlarge};

作用域内枚举不隐式转换,支持显示类型转换。或者作用域内枚举定义底层类型:enum class Enum;
enum class Enum1:unsigned int;

4、运算符重载格式为opreatorop(argument list) op必须为c++的有效运算符。

5、只有在类声明中的原型才能使用friend关键字。除非函数定义也是原型,否则不能再函数定义中使用该关键字。explicit 关闭类的自动隐式转换,仅允许显示转换即显示强制类型转换。

6、只接收一个参数的构照函数定义了从参数类型到类类型的转换。如果使用关键字explicit限定了这种构照函数,则它只能用于显示转换,否则也可以用于隐式转换。explicit Cstonewt(double lbs);

7、转换函数:operator typeName(); 例子operator double();转换函数必须是类方法,不能指定返回类型,不能有参数。

8、静态数据成员在类声明中声明,在包含类方法的文件中初始化。初始化时使用作用域运算符来指出静态成员所属的类。但如果静态成员是整形或者枚举型const,则可以在类声明中初始化。

9、成员函数声明为静态的(函数声明必须包含关键字static,但是函数定义是独立的则其中不能包含关键字static)

10、在派生类中重新定义基类的方法,通常应将基类方法声明为虚的,程序将根据对象类型而不是引用或指针类型来选择方法。虚析构函数可以确保正确的析构函数序列被调用。虚函数只能借助于指针或者引用来达到多态的效果

11、纯虚函数声明的结尾处为=0

12、派生类不能直接访问基类的私有成员,必须通过基类的公有方法来访问。

13、通常使用包含来建立has-a关系;如果新类需要访问原有类的保护成员或者需要重新定义虚函数,则应使用私有继承。

14、使用省略号来表示异常类型从而捕获任何异常。如果有一个异常类继承层次结构,应这样排列catch块:将捕获位于层次结构最下面的异常类的catch语句放在最前面,将捕获基类异常的catch语句放在最后面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值