C/C++与C#随笔

news/2024/10/21 15:53:52/
  1. C/C++与C#中的值类型和引用类型
/*    C/C++ code    */
int i=0;    //声明值类型变量i,值为0
int &i_ref=i;    //声明引用类型变量i_ref,是i的引用,与i等价,可作为引用传参int *i_ptr=&i;    //声明指针类型变量i_ptr,指向
int *i_ptr2=&i_ref;    //与上面表达式等价
/*    C# code    */
int i=0;
object i_ref=i;    //C#不能直接声明值类型的引用,需要通过装箱完成;//需要调用函数,并按引用传参时,需要将函数值类型形参添加ref/out关键字//为"ref/out int i"或声明引用类型形参"object i_ref"//(若加上in关键字传参则在函数内部只读不可修改,否则编译器会报错)unsafe
{int *i_ptr = &i;    //声明int*指针时需要加上unsafe关键字,要将i_prt作为参数传递,//在函数声明时也要在访问限定符public后加上unsafe限定符//int &i_ref = i;   //Error,未定义
}


http://www.ppmy.cn/news/1072685.html

相关文章

<C++> 多态

1.多态的概念 多态是指同一个函数在不同情况下表现出不同的行为。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 举个例子:比如买票…

Springboot 整合 Redis配置

RedisService接口 import java.util.List; import java.util.Map; import java.util.Set;/*** Redis操作Service* Created by macro on 2020/3/3.*/ public interface RedisService {/*** 保存属性*/void set(String key, Object value, long time);/*** 保存属性*/void set(St…

【08期】ArrayList常见面试题

简介 ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高。 线程安全性 对ArrayList的操作…

字节一面:你能讲一下跨域吗

前言 最近博主在字节面试中遇到这样一个面试题,这个问题也是前端面试的高频问题,作为一名前端开发工程师,我们日常开发中与后端联调时一定会遇到跨域的问题,只有处理好了跨域才能够与后端交互完成需求,所以深入学习跨域…

Java的guava 限流写法

第一步先引入 maven <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.0.1-jre</version> </dependency> 然后上方法 private final double rateLimiter10 1.0 / 10.0; // 每…

day03_注释丶关键字丶标识符丶常量

​注释 注释就是使用人类的自然语言对代码的解释和说明。 代码本身和人类的自然语言相比&#xff0c;可读性肯定是要差一些&#xff0c;所以为了更快能够知道代码的含义、作用、需要注意地方&#xff0c;所有程序员都应该养成写注释的好习惯。 由于注释的内容是给程序员看的&…

#systemverilog# 之 event region 和 timeslot 仿真调度(六)疑惑寄存器采样吗

一 象征性啰嗦 想必大家在刚开始尝试写Verilig HDL代码的时候,都是参考一些列参考代码,有些来自于参考书,有些来自于网上大牛的笔记,甚至有写来自于某宝FPGA开发板的授权代码。我还记得自己当时第一次写代码,参考的是一款Altera 芯片,结合Quartus 开发软件, 在上面练习…

从源码角度剖析 Elasticserach 段合并调优策略

1、背景 TieredMergePolicy 作为 Elasticserach 默认的策略&#xff0c;和 LogMergePolicy 合并相邻的段不同&#xff0c;其合并大小相近的段。 作为 ES 使用的段策略&#xff0c;它的核心思想是将索引段分成多个层次&#xff08;tier&#xff09;&#xff0c;每个层次的段大小…