class Test(){ public: Test(){} const int foo(int a); const int foo(int a) const; }; 一.概念 当const在函数名前面的时候修饰的是函数返回值. 当const在函数名后面表示是常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作. 二.原理: 我们都知道在调用成员函数的时候编译器会将对象自身的地址作为隐藏参数传递给函数,在const成员函数中,既不能改变this所指向的对象,也不能改变thi…
转载:const放在函数前后的区别 一.const修饰指针 int b = 500; 1.const int * a = & b; 2.int const * a = & b; 3.int * const a = & b; 4.const int * const a = & b; 对于1和2 const 放在*左侧,就是用来修饰指针所指向的变量,即指针指向的是常量. 若a是仓库管理员,b是仓库.即仓库中的货物(*a)不允许改变.但是可修改指针指向或b的值来改变*a. 对于3…
积性函数前n项和必看好文 https://blog.csdn.net/skywalkert/article/details/50500009 递归计算的时候要用map记忆化一下,前面的打表会比较快一点. AC代码 #include<bits/stdc++.h> using namespace std; ; typedef long long ll; map<ll,ll> ma; int check[maxn],prime[maxn],mu[maxn]; void Mobius(in…