
基础语言
文章平均质量分 56
linukey
这个作者很懒,什么都没留下…
展开
-
C# 类型、对象、方法执行时的相互关系的一点思考
C# 类型、对象、方法执行的相互关系的一点思考 本文将从以下几个问题,来阐述C#类型、对象、线程栈、托管堆运行时的相互关系。C 类型对象方法执行的相互关系的一点思考new操作符的作用方法执行的过程类型对象与对象之间的关系方法表new做的事情方法执行的过程类型对象与对象之间的关系方法表静态方法、实例方法、虚方法的运行时区别new操作符的作用原创 2017-01-18 08:53:22 · 1084 阅读 · 2 评论 -
C++中类const、static、static const成员变量
#includeusing namespace std;class Test{private:const int a; //const 成员变量只能在构造函数的成员初始化列表中初始化,不能在函数体中和其他地方static int b; //static 成员变量需要在全局范围内初始化,格式: 类型名 类名::变量名 = 值static const int c;原创 2015-04-21 20:44:17 · 804 阅读 · 0 评论 -
C++ lambda表达式复习
#include#include#include#includeusing namespace std;int main(){//最简单的lambda表达式[](){};//lambda表达式也就是一个函数,我们可以把它赋给函数指针,也可以在后面加上括号使用。////[]里面可以添加一些限制lambda块语句中使用外部变量的限制符。一共有四种情况原创 2015-04-09 17:10:00 · 651 阅读 · 0 评论 -
拉格朗日插值查找法
#includeusing namespace std;int search(const int*, int, int);int main(){int arr[6] = {1,2,3,4,10,20};int find = search(arr, 6, 10);if(find == -1) cout else cout return 0;原创 2015-04-09 11:38:02 · 1514 阅读 · 0 评论 -
C#线程死锁
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace 线程进程学习{ class Program {原创 2015-03-10 16:01:49 · 759 阅读 · 0 评论 -
Lambda表达式
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication3{ class Program { delegate void show(原创 2015-03-05 21:12:28 · 390 阅读 · 0 评论 -
C++文件操作权限总结
C模式C++模式含义“r”ios_base::in打开以读取 ios_base::ate打开文件,并移到文件尾 ios_base::binary二进制文件 ios_base::trunc如果文件存在,原创 2015-02-24 21:23:25 · 5963 阅读 · 0 评论 -
C#中的值类型与引用类型
这些天学习C#,看到里面的值类型与引用类型,例如结构是值类型,类是引用类型,然后立马想到了C++中的类,那么C++中的类是什么类型呢,哈哈,忽然间有点迷惑,上网搜了搜还真有很多小伙伴们已经晕进去了,今天就总结一下C#与C++中值类型与引用类型的区别。其实C#中值类型与引用类型的根本区别就是变量包含的数据在哪个内存区间上,值类型在堆栈中直接包含,引用类型在堆中间接引用,例如,C#中实例化类必需要原创 2015-02-24 21:22:33 · 497 阅读 · 0 评论 -
C++与C#中this关键字的区别
C#中隐式接口与显示接口 隐式接口:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Collections; names原创 2015-02-24 21:21:45 · 621 阅读 · 0 评论 -
数据库设计三范式
1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、原创 2015-02-23 22:43:24 · 556 阅读 · 0 评论 -
C#中隐式接口与显示接口
C#中隐式接口与显示接口 隐式接口:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Collections; namespace ConsoleApplicat原创 2015-02-23 22:40:08 · 502 阅读 · 0 评论 -
C#中textbox输出换行
很多人在C#.NET平台编程时遇到一个问题,就是在textbox中原本应该换行的文本,保存到文件中却没有换行。例如:textbox中文本为:123456而保存到文件中却是:123456没有了换行。原因在于:textbox中的换行\n是在window上执行的,而window上执行换行的时候需要\r\n,所以就导致了无法换行,所以我们可以使用textbox.Te原创 2015-01-13 11:44:57 · 9567 阅读 · 0 评论 -
C#中泛型集合类List与Dictionary解析
List:注意事项: List类不用进行装箱和拆箱,所以比ArrayList性能要高。常用方法:1.List.Add() 添加一个元素 List.AddRange() 添加一个集合或数组2.List.Insert(int index) 在index位置添加一个元素3.List.Remove(T item) 删除一个元素 List.RemoveAt(int原创 2015-01-08 22:44:42 · 3922 阅读 · 0 评论 -
C#中File类常用方法
1.AppendAllText(String, String) 打开一个文件,向其中追加指定的字符串,然后关闭该文件。 如果文件不存在,此方法创 建一个文件,将指定的字符串写入文件,然后关闭该文件。2.Copy(String, String) 将现有文件复制到新文件。 不允许覆盖同名的文件。 Copy(String, String, Boolean) 将现有文件复制到新文原创 2015-01-07 23:44:29 · 3339 阅读 · 0 评论 -
C#中集合ArrayList与Hashtable的使用
ArrayList:一.注意事项:1.可以指定ArrayList集合的初始大小 var list = new ArrayList(10);//容纳10个元素 若不指定大小,则默认大小为0,添加一个后为4,然后以倍数递增。2.ArrayList是Array的复杂版本,ArrayList内部封装了一个Object类型的数组,从一般的意义来说,它和数组没有本质的差别,甚至于Ar原创 2015-01-07 23:07:53 · 2495 阅读 · 0 评论 -
C++与C#中this的作用
C#中this的作用:1.代表当前实例例:public class Student { public int _age; public Student(int age) { this._age = age; //代表当前实例 } } 2.从构造函数中调用其原创 2015-01-06 22:59:09 · 848 阅读 · 0 评论 -
可变参数模板用法
//可变参数模板//可变参数模板,可以创建可接受可变数量参数的模板函数和模板类//本程序通过模板函数来实例一下可变参数模板的基本用法#includeusing namespace std;void one(){}//当最后一个参数传完后,需要一个无参的重载版本template //当只剩最后一个参数时,编译器优先选择此模板,这样最后一个输出后面就没有逗号了voi原创 2015-04-23 23:00:16 · 755 阅读 · 0 评论 -
C++实现C语言printf函数
//简单实现C语言中printf函数#include#include#includeusing namespace std;void print(const char* str)//处理只有字符串的时候{ cout }template void print(const char* str, T t, Args... args)原创 2015-04-24 21:46:09 · 1361 阅读 · 0 评论 -
模板元编程加速递归
//模板元编程加速递归//缺点:模板元在编译时处理,无法调试,并且会加大代码体积#includeusing namespace std;template struct data{ enum{res = data::res + data::res};};template struct data{ enum{res =原创 2015-04-24 23:12:57 · 889 阅读 · 0 评论 -
C标准I/O缓冲区:全缓冲和行缓冲
ISO C标准I/O提供了全缓冲和行缓冲全缓冲:在进行I/O操作时,只有当I/O缓冲区被填满时,才进行真正的I/O操作。所以对于全缓冲的缓冲区可由标准I/O例程自动刷新,即当缓冲区填满时,还有一种方法就是调用函数fflush进行刷新。行缓冲:在I/O操作时,输入输出遇到换行符时进行,进行真正的I/O操作。对于行缓冲,标准I/O每一行缓冲区的长度是固定的,所以只要填满了缓冲区,即使没有遇到换转载 2015-06-14 22:43:15 · 1129 阅读 · 1 评论 -
vs2013中设置输出缓冲区
//vs2013设置输出缓冲区/*windows下是没有设置输出buffer的,也就是说C++中cout的时候,会直接输出,而不是先进入缓冲区等缓冲区满或者被刷新再输出。但是我们可以手动设置缓冲区*/#includeusing namespace std;int main(){ /* 这个段代码在Linux下用g++执行不会输出,因为1被存到缓冲区中,而windows下会输出,原创 2015-06-14 22:58:33 · 2929 阅读 · 0 评论 -
作用域内枚举(C++11)
//作用域内枚举#includeusing namespace std;/* 下面这两种定义枚举的方式有错误,错误提示为枚举数sum重定义。 在C++11之前我们不能在类中定义两个枚举类型有相同的枚举数。这样会导致枚举数重定义的错误。*///class Test1//{//public:// enum {sum = 10};// enum {sum = 20};//原创 2015-06-18 10:23:57 · 2982 阅读 · 1 评论 -
C#事件
C#事件using System;using System.Collections.Generic;using System.Linq;using System.Text;/*事件概述事件具有以下特点:发行者确定何时引发事件,订户确定执行何种操作来响应该事件。一个事件可以有多个订户。 一个订户可处理来自多个发行者的多个事件。没有订户的事件永远也不会引发。事件通常用于通知用原创 2015-08-24 02:04:58 · 986 阅读 · 0 评论 -
.net 异步编程小结
.net 异步编程小结using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace Test{ public class MyMain {原创 2015-08-25 14:57:09 · 726 阅读 · 0 评论 -
类模板友元函数坑死人不偿命的错误
错误例程:#includeusing namespace std;templateclass Student{private: T age;public: Student(T age_) :age(age_){} friend bool operator==(const Student& s1, const Student& s2);};int main(){原创 2015-06-04 21:33:29 · 1381 阅读 · 0 评论 -
C++ 虚函数、静态联编和动态联编、抽象类
//C++ 虚函数、静态联编和动态联编、抽象类#include#includeusing namespace std;class People{private: string name; int age;public: People(string name_, int age_):name(name_), age(age_){}原创 2015-05-23 10:41:25 · 756 阅读 · 0 评论 -
C++友元复习
#include#includeusing namespace std;class Student;class Class{private:int id;string student_name;public://因为现在还没有具体声明Student类,所以我们要把函数的实现放在Student类的声明后面void show(cons原创 2015-05-22 23:05:41 · 411 阅读 · 0 评论 -
C++类转换构造函数和转换函数复习
//C++类转换构造函数和转换函数复习#include#includeusing namespace std;class Student{private: string name; int age; double grade;public: Student(string name_, int age_, doubl原创 2015-05-18 23:31:45 · 531 阅读 · 0 评论 -
C++模板类复习
//C++模板类复习#includeusing namespace std;template class test{private: T1 temp1; T2 temp2;public: test(){} test(T1 data1, T2 data2):temp1(data1),temp2(data2){} v原创 2015-04-27 21:13:56 · 554 阅读 · 0 评论 -
C++智能指针模板类复习
//C++智能指针模板类复习#include#includeusing namespace std;//智能指针用于确保程序不存在内存和资源泄漏且是异常安全的。//C++98中提供了auto_ptr,C++11摒弃了auto_ptr,并提出了unique_ptr 、shared_ptr、weak_ptrvoid show1(){ int* p = ne原创 2015-04-27 19:22:32 · 632 阅读 · 0 评论 -
利用包装器以及lambda表达式实现二叉查找树
#include#includeusing namespace std;template class tree{private:struct Node{T data;Node* L;Node* R;Node(T d) :data(d), L(NULL), R(NULL){}};Node* root;int Count;publ原创 2015-04-26 00:46:47 · 615 阅读 · 0 评论 -
C++ 在堆上开辟与释放二维、三维指针
//C++ 在堆上开辟与释放二维、三维指针#includeusing namespace std;int main(){ //二级指针的开辟与释放 int number = 0; int** p = new int*[4]; for(int i = 0; i { p[i] = new int[4]; }原创 2015-04-25 22:32:32 · 1807 阅读 · 0 评论 -
C++引用复习
//引用复习#includeusing namespace std;void show1(){ cout }void show2(){ cout }void show3(){ cout }int main(){ int one = 1; int &r1(one); //左值原创 2015-04-25 21:33:37 · 553 阅读 · 0 评论 -
C++与C#中值类型与引用类型的区别
这些天学习C#,看到里面的值类型与引用类型,例如结构是值类型,类是引用类型,然后立马想到了C++中的类,那么C++中的类是什么类型呢,哈哈,忽然间有点迷惑,上网搜了搜还真有很多小伙伴们已经晕进去了,今天就总结一下C#与C++中值类型与引用类型的区别。其实C#中值类型与引用类型的根本区别就是变量包含的数据在哪个内存区间上,值类型在堆栈中直接包含,引用类型在堆中间接引用,例如,C#中实例化类必需要原创 2014-12-04 09:25:20 · 2216 阅读 · 1 评论