当前位置: 首页 > news >正文

【C/C++】知识点

1.C++中的参数传递机制:值传递、指针传递、引用传递

 

2.C++的内部类和外部类:

一个讲得不错的博客,不过不让转载:C++内部类

 

3.static 可以修饰局部变量、全局变量和函数。 不可修饰类!

 

4.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是:出错!友元函数不是成员函数,必须要有参数。

 

5.以下代码的输出结果是?

main() { 
    char str[]="S\065AB"; 
    printf("\n%d", sizeof(str)); 
}

答:5    \065是一个8进制数字

 

6.下面这段代码会打印出什么?

class A
{
public :
     A()
     {
         printf( "A " );
     }
     /*virtual*/
     ~A()
     {
         printf( "deA " );
     }
};
 
class B
{
public :
     B()
     {
         printf( "B " );
     }
     ~B()
     {
         printf( "deB " );
     }
};
 
class C:  public A,  public B
{
public :
     C()
     {
         printf( "C " );
     }
     ~C()
     {
         printf( "deC " );
     }
};
int main()
{
     A *a =  new C();
     delete a;
     return 0 ;
}
 
答: 
A B C deA 
构造函数的执行先执行父类,再执行子类。析构顺序想反
A B的析构函数 不是虚函数,所以不会执行子类的虚函数
 
 
7. Java, Object-C, C#都是类C语言, python不是
 
8.
在linux下64位c程序,请计算输出的三个sizeof分别是()
void func(char str_arg[100])
{
     cout<<sizeof(str_arg)<<endl;
}
int main(int argc,char* argv[])
{
     char str[]="Hello";
     char *p=str;
     cout<<sizeof(str)<<endl;
     cout<<sizeof(p)<<endl;
     func("test");
     return 0;
}

6,8,8      64位的指针大小为8, str_arg做形参是一个指针。

 
9. 重载要求 输入参数个数或者 类型发生变化。只有返回值类型不同, 不算重载!!
 
10.下面代码的输出:
char *c[] = { "ENTER", "NEW", "POINT", "FIRST" }; 
char **cp[] = { c+3, c+2, c+1, c }; 
char ***cpp = cp; 
 
int main(void)
{ 
    printf("%s", **++cpp); 
    printf("%s", *--*++cpp+3); 
    printf("%s", *cpp[-2]+3); 
    printf("%s\n", cpp[-1][-1]+1); 
    return 0;
}

答:POINTERSTEW   注意++, -- , *(取值) 的优先级都大于 加减法

 
 

相关文章:

  • SWIFT中获取配置文件路径的方法
  • 《Arduino实战》——1.8 小结
  • hdu 4035 可能性DP 成都网络游戏
  • 如何用Nagios远程执行插件(NRPE)来检测服务器内存使用率
  • Android-往来:添加到联系人
  • 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——1.1 硬件系统资源
  • ajaxFileUpload plugin上传文件 chrome、Firefox中出现SyntaxError:unexpected token
  • 《C++编程风格(修订版)》——2.6 动态内存的回收
  • wp-query调用前几篇文章的方法
  • 《思科UCS服务器统一计算》一1.3 统一计算系统(UCS)
  • 从平凡通往伟大——大数据技术学习
  • 《UML面向对象设计基础》—第1章1.7节继承
  • 启动页广告
  • 深入理解Spark:核心思想与源码分析. 3.5 Hadoop相关配置及Executor环境变量
  • Nim各种pragma使用方法
  • [LeetCode] Wiggle Sort
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 03Go 类型总结
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • angular学习第一篇-----环境搭建
  • create-react-app项目添加less配置
  • CSS 专业技巧
  • js操作时间(持续更新)
  • JS题目及答案整理
  • Laravel Telescope:优雅的应用调试工具
  • oldjun 检测网站的经验
  • SpringCloud集成分布式事务LCN (一)
  • tensorflow学习笔记3——MNIST应用篇
  • Vue 2.3、2.4 知识点小结
  • Vue2.x学习三:事件处理生命周期钩子
  • 聊聊directory traversal attack
  • 区块链分支循环
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 项目管理碎碎念系列之一:干系人管理
  • #if和#ifdef区别
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十六)一篇文章学会Java的常用API
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET : 在VS2008中计算代码度量值
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 依赖注入的基本用发
  • .NET 反射的使用
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET多线程执行函数
  • @EnableAsync和@Async开始异步任务支持
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ IO.File ] FileSystemWatcher
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [android] 切换界面的通用处理
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [BZOJ4016][FJOI2014]最短路径树问题