c/c++
金士顿
这个作者很懒,什么都没留下…
展开
-
深入探讨`g++`与`gcc`:混合编程中的编译链接艺术
在混合使用C和C++进行项目开发时,选择正确的编译器和链接器对项目的成功至关重要。虽然`gcc`和`g++`都是GNU编译器集合(GCC)的重要组成部分,它们在处理混合语言项目时展现出了不同的能力和便利性。`g++`往往被认为是涉及C++代码的混合项目中更优的选择,本文将通过具体的编译示例,详细探讨`g++`相较于`gcc`的优势。原创 2024-03-14 14:39:08 · 601 阅读 · 0 评论 -
深入探索C与C++的混合编程
一方面,现有的大量优秀C语言库为特定任务提供了高效的解决方案,将这些库直接应用于C++项目中可以节省大量的开发时间和成本。通过混合编程,开发者可以在同一项目中利用C的高效性和C++的高级特性,以达到最优的软件设计和实现。通过理解并正确应用这些技术要点,开发者可以有效地在同一项目中混合使用C和C++,充分发挥两种语言的优势,开发出性能优异且易于维护的应用程序。最后,使用C++编译器(或链接器)将上一步骤中生成的所有对象文件以及必要的库文件链接成一个最终的可执行文件或库。文件),生成相应的对象文件。原创 2024-03-14 14:21:35 · 521 阅读 · 0 评论 -
C++中.h与.hpp文件的差异问答
之间的差异更多地是关于向开发者表明头文件的预期用途和内容,而不是文件被编译器处理的方式有何不同。二者之间的选择应符合项目的标准和目标,以实现清晰度和兼容性。文件在C++编程中的区别主要基于约定和偏好,而不是C++语言或其编译器强制执行的任何技术差异。原创 2024-02-18 10:49:51 · 447 阅读 · 0 评论 -
c语言中的模拟多态性
简单来说,多态性允许函数或方法可以处理多种类型的对象。这意味着一个函数的接口可以用于不同类型的数据,具体执行的操作会根据传入数据的实际类型而变化。假设我们想处理两种类型的图形:圆形和矩形。我们的目标是计算这些图形的面积,但我们希望通过相同的接口来实现这一点。为了模拟多态性,我们将使用函数指针在结构体中存储不同的计算面积的函数。原创 2024-02-08 13:54:02 · 496 阅读 · 0 评论 -
c++类的静态成员变量和非静态成员变量定义和初始化为什么有区别?
这些区别使得静态和非静态成员变量能够适用于不同的编程场景,提供了灵活性和效率,这是C++语言设计的一部分。通过这种方式,C++允许开发者根据不同的需求和上下文来选择合适的数据存储和访问策略。静态成员变量和非静态成员变量之间的区别主要是由于它们的用途和作用域的不同。这些区别反映了C++语言设计中的一些基本原则和目的。原创 2024-01-19 14:57:21 · 362 阅读 · 0 评论 -
深入理解C++中的前置声明和类型定义
前置声明是一种在C++中告知编译器稍后将会有一个类型定义的方式。它通常用于声明类或结构体,使得在完整定义之前就可以引用这些类型。当编译器在后续代码中找到类型的完整定义时,它会回填之前不完全类型的详细信息。public:// 使用结构体在这一点上,即使MyStruct还是不完全类型,编译器仍允许这种使用方式。编译器不会立即解析myStruct的大小和布局,而是暂时接受这个定义。编译器期待在稍后的代码中找到MyStruct的完整定义。int x;int y;当编译器遇到MyStruct。原创 2024-01-19 10:35:49 · 353 阅读 · 0 评论 -
深入理解C++中的类成员变量:内存分配与初始化
在C++编程中,正确理解类成员变量的内存分配和初始化对于编写高效且健壮的应用程序至关重要。这篇博客旨在深入探讨这些概念,尤其是在C++11及以后版本中引入的成员变量默认初始化器的使用。原创 2024-01-19 09:38:45 · 419 阅读 · 0 评论 -
C++中 `static` 成员变量的初始化:一个全面的指南
staticstatic尽管在类定义中声明了static成员变量,你还需要在类外部定义和初始化它。这通常在类定义的.cpp文件中完成。// 定义和初始化静态成员变量正确地使用和初始化static成员变量是C++编程中的一个关键方面。希望本文能帮助你更好地理解这个概念,并在你的项目中有效地使用static成员变量。原创 2024-01-19 09:29:56 · 853 阅读 · 0 评论 -
extern “C“解决链接问题
转载地址:https://baike.baidu.com/item/extern%20%22C%22/15267013。转载 2022-11-10 16:02:59 · 482 阅读 · 0 评论 -
c++ new 与malloc有什么区别
转载地址:https://www.cnblogs.com/ywliao/articles/8116622.html转载 2022-07-05 15:11:55 · 55 阅读 · 0 评论 -
C++一些注意点之operator new 和new operator
https://blog.csdn.net/lsjseu/article/details/9206883https://blog.csdn.net/lsjseu/article/details/9206883转载 2022-07-05 14:53:30 · 96 阅读 · 0 评论 -
int GetMonth( ) const throw( );后面的throw( )什么意思?
转载地址:https://blog.csdn.net/qq276592716/article/details/7625703异常规范(Exception Specifications)throw后面规定了该函数允许抛出什么类型的异常,空表示不抛出任何异常。这样写函数声明后,你在实现GetMonth时就不能有任何throw语句。如果写为 int GetMonth( ) const throw(string);函数实现时可以抛出string对象,其它类型的对象不允许。...转载 2022-07-05 14:03:39 · 127 阅读 · 0 评论 -
C++异常类型以及多级catch匹配
转载地址:http://c.biancheng.net/view/2331.html转载 2022-07-05 13:31:06 · 110 阅读 · 0 评论 -
C++中的mutable关键字
转载地址:https://www.cnblogs.com/yongdaimi/p/9565996.htmlmutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。我们知道,被const关键字修饰的函数的一个重要作用就是为了能够保护类中的成员变量。即:该函数可以使用类中的所有成员变量,但是不能修改他们的值。然而,在某些特殊情况转载 2022-07-04 13:58:57 · 115 阅读 · 0 评论 -
const、volatile和restrict的作用和用法总结
constconst(constant)关键字可修饰变量、函数参数、返回值或函数体。定义只读变量。限制函数参数。防止意外修改。增加程序安全性和可靠性。如const char *p表示,p指针指向的值不可更改,就是这个指针不能用来修改数据如char *const p表示,p指针指向的地址不可更改如const int arr[]则数组内的值都不能修改const char *const p表示,所指向的数值和地址都不能变const double locked[4]double *pc=rates转载 2022-07-04 13:54:59 · 212 阅读 · 0 评论 -
C为什么C++内置类型的局部变量不能默认初始化
https://blog.csdn.net/qq_36946274/article/details/80607439转载 2022-07-03 21:02:19 · 200 阅读 · 0 评论 -
左值右指解释的比较好的
https://chowdera.com/2022/03/202203100552526454.html转载 2022-07-02 09:36:51 · 56 阅读 · 0 评论 -
C语言中左值和右值的区别
https://www.dotcpp.com/wp/692.html转载 2022-07-01 18:04:27 · 75 阅读 · 0 评论 -
什么是多范式编程语言,其中的“多范式”是什么意思?
转载地址:https://www.zhihu.com/question/20428688#:~:text=%E5%A4%9A%E8%8C%83%E5%BC%8F%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E4%B8%AD,%E8%8C%83%E5%BC%8F%E6%9D%A5%E6%92%B0%E5%86%99%E7%A8%8B%E5%BA%8F%E3%80%82编程范式是指编程时的指导思想。放在编程语言里,则代表了这个语言的设计方向,即语言是为了便于遵循某种,或某些思想编程而转载 2022-06-29 17:58:48 · 1308 阅读 · 1 评论 -
while(cin>>str)如何结束循环
转载地址:https://blog.csdn.net/weixin_42731241/article/details/83216661问题描述:在使用while(cin>>temp)进行循环接收输入时,会遇到while循环跳不出来解决方法:输入完数据后->回车->ctrl+z->回车至于为什么https://blog.csdn.net/misayaaaaa/article/details/53332219这里讲的比较详细,但是他只要说了ctrl+z———————————转载 2022-05-10 10:36:48 · 903 阅读 · 0 评论 -
c位域学习
https://zh.m.wikipedia.org/wiki/%E4%BD%8D%E6%AE%B5 位域原创 2022-01-03 20:29:00 · 441 阅读 · 0 评论 -
64位进程调用32位DLL详解
https://blog.csdn.net/nie2314550441/article/details/49867735https://stackoverflow.com/questions/52601470/calling-a-function-of-a-32-bit-dll-from-a-64-bit-application原创 2022-04-27 13:11:42 · 2404 阅读 · 0 评论 -
用depends 来解决dll文件缺失等相关的问题 使用方法
https://blog.csdn.net/gengxingguang/article/details/107046616转载 2022-02-15 14:16:20 · 408 阅读 · 0 评论 -
c++ CRTP研究学习
https://blog.csdn.net/weixin_30446613/article/details/96499365https://blog.csdn.net/weixin_40683787/article/details/119957270https://blog.csdn.net/weixin_34351321/article/details/91817793https://blog.csdn.net/weixin_34351321/article/details/91817793htt原创 2022-01-27 16:12:27 · 783 阅读 · 0 评论 -
飞哥讲代码23:C/C++内存空洞
http://lanlingzi.cn/post/technical/2021/0307_code/转载 2021-11-21 09:25:20 · 479 阅读 · 0 评论 -
try catch里面try catch嵌套
try catch里能否内嵌try catch?答案是肯定的。但是等内层try catch出异常之后是个什么执行顺序呢?看下面代码 static void Main(string[] args) { try { Console.WriteLine("----------------------外层try------------------------------"); error转载 2021-07-30 17:02:39 · 14946 阅读 · 6 评论 -
Function pointer to member function
转载地址:https://stackoverflow.com/questions/2402579/function-pointer-to-member-functionI’d like to set up a function pointer as a member of a class that is a pointer to another function in the same class. The reasons why I’m doing this are complicated.In th转载 2021-07-20 10:59:31 · 185 阅读 · 0 评论 -
C++中public,protected,private派生类继承问题和访问权限问题
当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定。1.如果子类从父类继承时使用的继承限定符是public,那么(1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员;(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员;(3)父类的protected成员成为子类的protected成员,只允许子类成员访问;2.如果子类从父类继承时使用的继承限定符是protected,那么(转载 2021-06-22 13:15:30 · 2314 阅读 · 0 评论 -
c/c++ 数组是下标为什么可以是负值
转载地址:https://blog.csdn.net/qq_23130167/article/details/44987859?utm_source=blogxgwz0 #include <iostream>using namespace std;int main(int argc, const char * argv[]) { int x[1024]; ...转载 2018-10-19 15:07:52 · 838 阅读 · 0 评论 -
函数名&函数名取地址
函数名&函数名取地址有时看到如下的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /*****************************/ #...转载 2018-10-22 14:55:34 · 1339 阅读 · 0 评论 -
【C++】 私有成员变量的理解
转载地址:https://www.cnblogs.com/oraser/p/5888116.html【C++】 私有成员变量的理解私有成员变量的概念,在脑海中的现象是,以private关键字声明,是类的实现部分,不对外公开,不能在对象外部访问对象的私有成员变量.然而,在实现拷贝构造函数和赋值符函数时,在函数里利用对象直接访问了私有成员变量,因而,产生了困惑.下面以具体实例进行说明:...转载 2018-10-25 13:56:03 · 1095 阅读 · 0 评论 -
检查new的返回值及new的用法
我们知道,使用malloc/calloc等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即是检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单的把这一招应用到new上,那就不一定正确了。我经常看到类似这样的代码: int* p = new int[SIZE]; if(p==0) //检查p是否空指针 ...转载 2018-10-25 15:29:43 · 1634 阅读 · 0 评论 -
strtok字符串分离
#include <iostream>#include <stdio.h>#include <string.h>using namespace std; int main() { char s[] = "my name is lmm"; char *p; const char *delim = " "; p = str...原创 2018-11-27 11:16:17 · 183 阅读 · 0 评论 -
strtok的问题 [问题点数:20分,结帖人ArrayTang]
https://bbs.csdn.net/topics/390692289收藏帖子 回复ArrayTang结帖率 38.46%#include <string.h>#include <stdio.h>main(){ char *s="Golden Global View"; char *d=" "; ...转载 2018-12-07 15:48:58 · 140 阅读 · 0 评论 -
assert 未定义的引用
#include <assert.h>ok转载 2018-10-09 17:19:08 · 2687 阅读 · 0 评论 -
sprintf返回值
function<cstdio>sprintfint sprintf ( char * str, const char * format, ... );Write formatted data to stringComposes a string with the same text that would be printed if format was used...翻译 2018-10-08 15:44:32 · 5695 阅读 · 0 评论 -
strncpy 和 memcpy 的区别
昨天仙儿去面试,告诉我他被问到这样一个题目。很遗憾尽管这两个函数是如此简单常用,而我也回答错了。换句话说如果我去回答我也会被鄙视的。我以为既然有人这样问,那么可能在内存重叠时可能会不一样,然而我回去查了下 msdn 发现两者对于内存重叠都是未定义行为,所以内存重叠时应该使用 memmove,而不是 memcpy。 那么两者的区别在哪里呢,首先我们忽略参数的类型差别(前者明确要求 ch...转载 2018-03-14 14:07:02 · 10306 阅读 · 0 评论 -
坑爹代码 | 这个 unsigned 我看了半天才想明白
695856371|喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!下面这段再简单不过的代码,你能猜出是什么结果吗?int main(){ ...转载 2019-06-27 08:42:03 · 383 阅读 · 0 评论 -
Qtcreator的console工程中printf()不显示问题处理方法
问题:用Qtcreator创建的非qt,console工程在调试时,调试输出窗口没有信息输出,方法1:在项目运行配置中勾选 run in terminal 选项,在terminal中查看。方法2:在qt console的工程中使用printf标准输出和标准错误输出均有缓存,缓存达到一定程度后方才输出,可设置即时输出如下。setvbuf(stdout, 0, _IONBF, 0);1这样...转载 2019-06-27 08:48:34 · 1161 阅读 · 0 评论 -
ip用int类型存储
今天再看sql优化的时候,突然看到一点说建议ip在数据库里用int类型存储,试了一下,在这里记录一下。 /** * * (Ip转Integer) * 方法名:ipToInteger * 创建人:Liwenbin * 时间:2017年5月2日-下午5:06:47 void * @exception * @...转载 2019-07-20 17:40:33 · 1546 阅读 · 0 评论