编程风格: 如果标识符是变量,如下 int weightInPound =4对于命名常量,全大写:const double PI = 3.14对于类或函数,每一个单词首字母都大写: void MyFunction( ) 操作符运算:char < short < int < float < double如,char c =‘2‘ //‘2‘的ASCII码是50cout << c+151.首先char低于int,转换为int 50,再进行计算 原文:https://www.cnblogs.com/skylover/p/9716261.html
1.基本解释extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用: A. 当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译这个函数名时会把fun这个名字变得面目全非,可能是fun@aB...
一.问题及代码 文件名称: 数组分离
* 作 者:刘家材
* 完成日期: 2016 年 5 月 10 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 使用数组以及for语言
* 输入描述:输入10个整数
* 问题描述:分离奇数与偶数
* 程序输出:偶数组C为:2 4 6 8 0 奇数组B为:1 3 5 7 9
* 问题分析:使用数组
* 算法设计: for语句 if语句
#include <iostream.h>
void main()
{ const int N=10; int a[N],c[N],b[N]...
在C++里面,支持所谓的"分别编译",这样程序可以由多个文件组成,这些文件进行分别编译,最后再链接到一起组成可执行的文件(elf文件),我们在程序里面最常见到的就是在一个头文件class.h里面定义一个类,在另外一个源文件class.cc里面定义该类的方法和变量//class.h#ifndef _CLASS_H
#define _CLASS_H
class A
{
public:
void printHello();
};
#endif//class.cc#include "class.h"
#include <iostream>
void A::printHello()
{
...
-----------------------------------------------------------------------------引用和指针—----------------------------------------------------------------------------以下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m;n相当于m的别名(绰号),对n的任何操作就是对m的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。所以...
类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员。这样,公有派生类实际就具备了基类的所有功能,凡是基类能解决的问题,公有派生类都可以解决。 类型兼容规则中所指的替代包括以下情况: (1)父类指针可以直接指向子类对象(2)父类引用可以直接引用子类对象(3)子类对象可以直接初始化父类对象(4)子类对象可以当作父类对...
今天来为大家分享一个编译原理中用正规表达式转NFA的小程序正规表达式就是类似正则一样的式子,例如:(a|b)*abb,最后应该转化为: 大致的处理流程为:例子中的表达式:(a|b)*abb,|和*都是运算法则,而且容易识别,但是处理abb就不是你那么方便了,所以我们在abb中间加上+号,就可以像|*那样识别了,所以处理后为(a|b)*a+b+b 我们识别出来之后,首先根据书中提供的运算符->NFA部件的图转化为NFA部件,之后再根据优先级和各个...
模板的定义模型形参表不能为空// 比较器
template <tempname T>
int compare(const T &v1, const T &v2)
{if (v1 < v2) return -1;if (v2 < v2) return 1;return 0;
}inline函数模板定义template <tempname T> inline int compare(const T &v1, const T &v2);类模板定义#include <iostream>
#include <string>
using namespace std;
template <class T1,class T2>
class Pair
{
public:T1 key; //关键字T2 value; //值Pair(T1 k...
2 用于判断类型的traits类is_void类可以判断模板参数的类型,使用很简单,注意,也可以直接使用::value。cout << std::is_void<void>::type::value << endl;
cout << std::is_void<bool>::type::value << endl;
但是实现很有趣,特化居然可以用来继承不同的类。这里没有去找clang++实现代码,用boost代码代替吧。template <typename T>
struct is_void : public false_type{};template <>
struct is_void<void> : public true_type...
课时23运算符重载 运算符重载重载赋值运算符 Person& Person::operator=(const Person& other){//检查自赋值if (this == &other){return *this;}//释放原有的内存资源delete[]m_data;int length = strlen(other.m_data);m_data = new char[length + 1];strcpy(m_data, other.m_data);//返回本对象的引用return *this;}
课时25自增运算符重载 运算符重载前增量与后增量的区别使用前增量时,对对象(操作数)进行增量修改,然后再返...
今天研究用回溯法解决八皇后问题,碰到了一个有趣的小问题。看这篇随笔前,最好先看看我上一篇所写的 c++ 内存分配中一个有趣的小问题。先看代码 1#pragma once2#pragma execution_character_set("utf-8")3 #include <iostream>4 #include <cstdio>5using std::cout;6using std::endl;7 8constint COLUMNS = 8;9constint ROWS = 8;
10int Matrix[COLUMNS][ROWS] = { 0 };
1112void print()
13{
14for (int row = 0; row < ROWS; +...
有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型) 常量和引用,必须通过参数列表进行初始化。 静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字,其本质见文末。参考下面的代码以及其中注释:#include <iostream> using namespace std;class BClass {public: BClass...
书目:《More Effective C++》[1]80-20准则影响程序效率的代码占20%。不要凭直观来确定影响程序效率的代码段。通过时间测量,以及内存分配和释放的次数来分析程序的瓶颈。(条款16)[2]延迟操作里面的延迟读取,在Hibernate里面就有相应的运用成为“懒加载”,后面有空的话就学习一下这些代码。(条款17)[3]使用mutable关键字修饰字段,可以使该字段在const函数当中被修改。因为我们知道,在类的const函数当中,所有的成员变量都会...
1.在一般情况下,指向一种类型对象的指针不允许指向另一种类型的对象,然而指向基类对象的指针可以指向该基类的共有派生类对象(反过来不成立),这是运行时,多态的基础。指向基类队象的指针指向派生类对象后,可以访问派生类中有基类继承下来的成员,但不能访问那些派生类对象自己增加的成员。2.一个含有虚函数的类称为多态类。3.虚函数就是在一个类中用virtual定义的成员函数。基类的虚函数在派生类中仍是虚函数,并且一般在派生...
Python3.5语言实例:#coding = utf-8import sysdef Sub_string(a,b):c=[0]*len(b)for i in range(len(a)):for j in range(len(b)):if str(a[i]).find(str(b[j]))!=-1:c[j] = c[j] + 1for k in c:print(k)if__name__==‘__main__‘:N=int(sys.stdin.readline().strip())a=list()b=list()for i in range(N):a.append(input())M = int(sys.stdin.readline().strip())for i in range(M):b.append(input())Sub_string(a, b)python2.7实例...