static

C++虚函数 - 静态函数能否为虚函数

我的梦境 提交于 2020-01-29 05:27:56
1.virtual与静态函数 C++中,静态成员函数不能被声明为virtual函数。 例如,下面的程序会编译失败。 class Test { public: // 编译错误:static成员函数不能声明为virtual virtual static void fun() { } }; 同样地,静态成员函数也不能被声明为const和volatile. 下面的程序也会编译失败。 class Test { public: // 编译错误: static成员函数不能为const static void fun() const { } // 如果声明为下面这样,是可以的。 const static void fun() {} 或类似于 const static int fun() { return 0; } }; 2.为何static成员函数不能为virtual static成员不属于任何类对象或类实例,所以即使给此函数加上virutal也是没有任何意义的。 静态与非静态成员函数之间有一个主要的区别。那就是静态成员函数没有this指针。 虚函数依靠vptr和vtable来处理。vptr是一个指针,在类的构造函数中创建生成,并且只能用this指针来访问它,因为它是类的一个成员,并且vptr指向保存虚函数地址的vtable. 对于静态成员函数,它没有this指针,所以无法访问vptr.

thinkphp 前后端分离

*爱你&永不变心* 提交于 2020-01-29 03:15:29
thinkphp 前后端分离 简单记录一下之前学习tp的历程吧。 前端HTML页面渲染 <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function index() { return $this->fetch(); } } 这样的话,你需要将你的前端文件放到application/index/view,view文件夹默认是没有的,需要你自己新建了,如:application/index/view/index.html 前端js/css文件渲染 一般情况js/css文件是放到public/static内,例如我这里将其新建一个admin文件夹(即为/public/static/admin)那么这时候也就是需要在刚才渲染的html内调用,这里可以使用替换 https://www.kancloud.cn/manual/thinkphp5/118120 然后在index这个控制器也就是app/index 同级目录下新建如下config.php <?php return [ 'view_replace_str' => [ '__PUBLIC__'=>'/public/static/admin/', ], ];

非常实用的33个PHP代码实例

家住魔仙堡 提交于 2020-01-28 23:48:48
对于WEB开发人员来说PHP基本是标配,其他的程序员也可能会编上几句PHP代码。今天给大家总结了33个实用的PHP代码片段,在用到时可以直接进行复制粘贴,非常方便。也可以用来丰富自己的代码库。 <?php /** * 时间:0000-00-00 * 作者:xx * 超级有用、必须收藏的PHP代码样例 */class Helper { /** * 友好显示var_dump */ static public function dump($var, $echo = true, $label = null, $strict = true) { $label = ( $label === null ) ? '' : rtrim($label) . ' '; if (!$strict) { if (ini_get('html_errors')) { $output = print_r($var, true); $output = "<pre>" . $label . htmlspecialchars($output, ENT_QUOTES) . "</pre>"; } else { $output = $label . print_r($var, true); } } else { ob_start(); var_dump($var); $output = ob_get_clean(); if

常用API_1

无人久伴 提交于 2020-01-28 21:25:22
API API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学 习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。 Scanner类 一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 备注:System.in 系统输入指的是通过键盘录入数据。 Scanner使用步骤: 查看类 java.util.Scanner :该类需要import导入后使用。 查看构造方法 public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。 查看成员方法 public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。 匿名对象 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。 匿名对象 :没有变量名的对象。

Java变量类型

ε祈祈猫儿з 提交于 2020-01-28 21:20:37
Java变量类型 Java语言支持的变量类型有: 类变量:独立于方法之外的变量,用static修饰。 实例变量:独立于方法之外的变量,不过没有static修饰。 局部变量:类的方法中的变量。 1 public class Variable{ 2 static int allClicks=0;//类变量 3 String str="hello world";//实例变量 4 public void method(){ 5 int I=0;//局部变量 6 } 7 } Java局部变量 局部变量声明在 方法、构造方法或者语句块中 ; 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁; 访问修饰符不能用于局部变量; 局部变量只在声明它的方法、构造方法或者语句块中可见; 局部变量是在 栈上分配 的; 局部变量没有默认值 ,所以局部变量在被声明后,必须经过初始化,才可以使用。 实例1 1 public class Test{ 2 public void pupAge(){ 3 int age=0;//局部变量必须初始化,否则在编译时会出错 4 age=age+7; 5 System.out.println("小狗的年龄是:"+age); 6 } 7 public static void main(String[] args){ 8 Test test

class 静态属性

廉价感情. 提交于 2020-01-28 21:12:26
class 静态属性 提案- ES6 明确规定,Class 内部只有静态方法,没有静态属性。现在有一个 提案 提供了类的静态属性,写法是在实例属性的前面,加上static关键字。 注意是:提案。但是目前babel都支持静态属性。 以下代码经babel编译后,静态属性正常使用。 class AA{ static name= "AA"; static say(){ console.log('static method') } } console.log(AA.name); AA.say() 来源: https://www.cnblogs.com/mengfangui/p/12238774.html

C++ 中的static

我只是一个虾纸丫 提交于 2020-01-28 16:48:22
这一篇就借着介绍 C++ 类内静态成员变量和静态成员函数的机会,彻底介绍一下 C++ 中的static 如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢 C/C++ 共有的用途 静态局部变量 静态局部变量即在局部变量前面加 static 修饰 只执行一次初始化,延长了局部变量的生命周期,在程序结束的时候才释放 void func ( ) { static int n ; // 静态局部变量 cout << n ++ << endl ; cout << & n << endl ; } // 1. 第一次调用时全局变量默认初始化为0,后面调用不再进行初始化 // 2. 在程序中多次调用该函数输出的地址是一样的,是同一变量(证明不是很严谨,局部变量也会出现这种情况) 总结 静态局部变量在全局/静态区分配内存空间 静态局部变量在程序执行到该对象的声明处时被首次初始化,之后的函数调用不再进行初始化 静态局部变量一般在声明处初始化,若没有显式初始化,会被OS自动初始化为0 它始终驻留在全局/静态区,直到程序运行结束,但其作用域为局部作用域,也就是不能在函数体外面使用它 静态全局变量 静态全局变量只能在当前的文件中访问,其它文件不可访问,即使是extern也不行 // ====== 测试一 ====== // file: a.cpp # include <iostream> using

Java中ArrayList和LinkedList区别

北城以北 提交于 2020-01-28 13:19:02
ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 上代码: 1 static final int N=50000; 2 static long timeList(List list){ 3 long start=System.currentTimeMillis(); 4 Object o = new Object(); 5 for(int i=0;i<N;i++) { 6 list.add(0, o); 7 } 8 return System.currentTimeMillis()-start; 9 } 10 static long readList(List list){ 11 long start=System.currentTimeMillis(); 12 for(int i=0,j=list.size();i<j;i++){ 13 14 } 15 return System.currentTimeMillis()-start; 16 } 17 18

Java学习29:静态字段和静态方法

落爺英雄遲暮 提交于 2020-01-27 22:30:58
在项目FourthDemo的src目录下创建包com.fourth.static_filed_and_method,并创建Demo08.java 在一个class中定义的字段,我们称之为实例字段。实例字段的特点是,每个实例都有独立的字段,各个实例的同名字段互不影响。 还有一种字段,是用static修饰的字段,称为静态字段:static field。 实例字段在每个实例中都有自己的一个独立“空间”,但是静态字段只有一个共享“空间”,所有实例都会共享该字段。举个例子: class Person { public String name; public int age; // 定义静态字段number: public static int number; } 我们来看看下面的代码: public class Demo08 { public static void main(String[] args) { Person ming = new Person("Xiao Ming", 12); Person hong = new Person("Xiao Hong", 15); ming.number = 88; System.out.println(hong.number); hong.number = 99; System.out.println(ming.number); } }

代码优化--去掉重复代码

ぃ、小莉子 提交于 2020-01-27 22:04:27
优化前: package com.itedu365.best0601; public class before{ public static void method( ){ // 打印姓名 printContent("3651TEDU"); //打印部门 printContent("YFANN"); } private static void printName(String name){ System.out.println(strObject+ "。"); } private static void printDepart(String depart){ System.out.println(strObject+ "。"); } } 优化后: package com.itedu365.best0602; public class After { public static void method(){ // 打印姓名 printContent("3651TEDU"); //打印部门 printContent("YFANN"); } private static void printContent(String strObject){ System.out.println(strObject+ "。"); } } 以上代码为学习资料上的代码。在我测试优化后的代码时