C#学习记录:编写高质量代码改善整理建议4-8
4、TryParse比Parse好下面的TryParse的方法定义public static bool TryParse(string s, out Double result);Parse如果转换失败会报错,但是TryParse有返回值可
C#学习记录:编写高质量代码改善整理建议1-3
建议1:正确使用字符串string string str1 = "str1" + 9;string str2 = "str2" + 9.ToString();第一行代码会产生一次装箱,还有一次string的concat而第二行代码使用ToS
区分C++常量表达式、const、constexpr(附代码)
常量表达式是指值不会改变且在编译过程中就能够得到计算结果的表达式,能在编译时求值的表达式。例1:#include <iostream>using namespace std;int main(){const int a1 = 10;
Microsoft C++ 语言扩展:try-except 语句结构化异常
Microsoft 专用try-except 语句是一项 Microsoft C++ 语言扩展,它使应用程序能够在正常终止执行的事件发生时获取对程序的控制权。 此类事件称为异常,处理异常的机制称为结构化异常处理。异常可能基于硬件或软件。 即
C++解决方法:多线程同步经典案例之生产者消费者问题
抄自维基百科 :生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程—
第六章C++:函数基础与应用
第六章 函数函数是一个命名了的代码块,通过调用函数执行相应的代码。函数基础通过调用运算符(call operator)来执行函数。其形式是一对圆括号。函数的调用完成两项工作(如下),此时主调函数(calling function)的执行被暂
第五章C++:语句的相关介绍
第五章 语句悬垂else指当if分支躲雨else分支时,如何为else寻找与之匹配的if分支的问题: - C++规定,else与离它最近的尚未匹配的if匹配,从而消除了二义性。switchswitch (ch) { case a:
第四章C++:表达式概念-运算符的应用
介绍由语言本身定义、并用于内置类型运算对象的运算符,同时简单介绍几种标准库定义的运算符。第四章 表达式基础概念一元运算符:作用于一个运算对象的运算符二元运算符:作用于两个运算对象的运算符函数调用也是一种特殊的运算符,它对运算对象的数量没有限
第二章C++:变量和基本类型
介绍语言的基本知识和标准库第二章 变量和基本类型一些语言,如Smalltalk和Python等,在程序运行时检查数据类型;与之相反,C++是一种静态数据类型语言,它的类型检查发生在编译时。 - 内置类型(built-in type):由语言
第一章C++:函数返回值、GNU编译器命令
函数返回值返回值类型必须和函数的返回类型相同对于main函数,返回值必须是int型。大多数系统中,main函数的返回值是一个状态指示器。返回值为0表示main函数成功执行完毕;返回非零表示有错误出现。GNU编译器命令vi:新建文件,i:编辑
C++引用的意义与引用的本质
1、引用的意义引用作为变量别名而存在,因此在一些场合可以替代指针,引用相对于指针来说具有更好的可读性和实用性// swap函数的实现对比void swap(int& a, int& b){ int t = a; a = b;
C++ 布尔类型和引用的用法详解
1、布尔类型C++中的布尔类型C++在C语言的基本类型系统之上增加了boolC++中的bool可取的值只有true和false理论上bool之占用一个字节注意:true代表真值,编译器内部用1来表示false代表非真值, 编译器内部用0来表
C#引用类型: 按值传递,按引用传递的对比
1,按值传递值按值传递,引用类型按值传递的实质的是传递值,参数为值类型时,“值”为实例本身,因此传递的是实例拷贝,不会对原来的实例产生影响;参数为引用类型时,“值”为对象引用,因此传递的是引用地址拷贝,会改变原来对象的引
探索C++虚函数在g++中的实现(动多态)_虚函数表剖析
探索C++虚函数在g++中的实现本文是我在追查一个诡异core问题的过程中收获的一点心得,把公司项目相关的背景和特定条件去掉后,仅取其中通用的C++虚函数实现部分知识记录于此。在开始之前,原谅我先借用一张图黑一下C++:“无敌”的C++如果
C++---浅拷贝、深拷贝、写时拷贝讲解(附代码)
对于普通的类型来说,拷贝没什么大不了的。int a = 0;int b = a;不会出现任何问题。而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。浅拷贝首先来说说我们常遇到的浅拷贝的情况。#include <stdio
C#使用Newtonsoft的Json.NET进行对象的序列化与反序列化
Json.NET是一种流行的.NET高性能JSON框架,C#中可以使用Newtonsoft的Json.NET进行对象的序列化与反序列化。C#中通过使用json.net可以快速的生成json和解释json,可以在序列化时忽略对象中的某些属性,
C#_调用封装的一个类实现导出Excel表格的功能
前言在大多数窗体中都有导出Excel表格的功能,如果封装封装一个类,使用的时候直接调用这个类不是更方便?,这样还减少了代码的重复性,何乐而不为?操作首先添加引用,在com中选中microsoft office 16.0 object lib
如何看待C#中的out和ref?探讨它们之间的区别
在学习C#时,总会遇到一些语言命令之类的用法相近却不尽相同,今天讨论的是C#中的out和ref的区别,首先讨论是各自的用法,下文我会给大家总结out和ref之间的区别。apache php mysql两者都是按地址传递的,使用后都将改变原来
基于汇编的 C/C++ 协程(用于服务器)的实现
本篇文章,是 对C/C++ 协程的实现。我们需要实现这两个目标:有同步式服务器编程的顺序思路,便于功能设计和代码调试——我使用了 libco 中的协程部分有异步 I/O 的性能——我使用了 libevent 中的 event I/O
(C++)错误的map删除操作和STL中容器的迭代器的底层实现机制
1.错误的map删除操作假设有个map容器,用于存储大学班级中各个家乡省份对应的学生数,key为省份中文全拼,value为学生数。现需要删除人数为0的记录,删除代码如下:map<string,int > countMap;for(map<s